Elektronik / Mikrodenetleyici Projeleri/

STM32 Discovery İlk İzlenimler ve RTC Uygulaması (STM32F100RBT6B)

Bu yazımda STM32 discovery kitten bahsedeceğim ayrıca kit ile ilgili örnek bir uygulama paylaşacağım. Daha önceden bir yarışma kapsamınca herkese ücretsiz bu kitten gönderiliyordu. Bende bi ara kayıt yapmıştım gönderirler diye sonuç olarak bayağı bi aradan sonra ümidi kesmişken bir gün ansızın kiti göndermişler. Başladım kiti incelemeye. Kit STM32 ile ilk tanışmak için ideal bir kit.

STM32 Discovery Kit stamp modül şeklinde tasarlanmış üzerinde birkaç eleman ve programlama/debug işlemleri için ST-Link kısmı bulunmakta. Kitin gönderimi artık durduruldu yanılmıyorsam. Kiti satın almak isteyen arkadaşlar buradaki adresten sipariş kısmından dağıtıcı firmaları görebilirler. Bir çok dağıtıcı firma kiti getiriyor. Ürünün fiyatı yaklaşık 12 dolar. STM32 denetleyicilere başlangıç için makul bir fiyat.

Kitin genel özellikleri;

  • STM32F100RBT6B Denetleyici
  • Programlama/Debug işlemleri için dahili ST-Link
  • USB bağlantısı ve güç göstergesi için 2 kırmızı Led
  • USB üzerinden veya harici besleme voltajı ile çalışabilme
  • 2 adet genel kullanım için led (yeşil ve mavi)
  • Reset ve genel kullanım için 2 adet push buton
  • Tüm I/O pinlerinin kullanımına izin veren genişletme soketleri

STM32F100RBT6B genel özellikleri;

  • ARM 32bit Cortex-M3 işlemci
  • 24 Mhz maksimum frekans 1.25DMIPS/MHZ (Dhrystone 2.1)
  • Tek çevrim çarpma ve bölme işlemi
  • 128 Kb flash program hafıza
  • 8 Kb SRAM
  • Düşük güç tüketim modları
  • 7 Kanal DMA
  • 12 bit 1.2us A/D çevirici
  • 2 Kanal 12 bit D/A çevirici
  • 5 Volt toleranslı I/O pinleri
  • Gelişmiş zamanlayıcı birimleri
  • I2C, USART, SPI çevresel iletişim modülleri

stm32f100rbt6b-board-pcb-stm32vl-discovery

Görüldüğü üzere STM32 denetleyicilerde gelişmiş analog işlem birimleri ve daha bir çok gelişmiş birim bulunmaktadır. STM32 piyasada bir çok kişi tarafından kullanılan bir çok uygulaması olan denetleyicilerdir. ARM Cortex serisi denetleyicilere başlamak isteyenler için STM32 iyi bir seçenek.

Bu kadar anlatımdan sonra örnek uygulamamıza geçelim. Uygulamayı Keil’in kendi sitesi üzerinde bulunan RTC uygulamasını düzenleyerek gerçekleştirdim. Uygulama basit bir saat uygulamasıdır. STM32 içinde bulunan dahili RTC birimi kullanılarak gerçekleştirilmiştir. RTC birimi uygun şekilde kurularak her saniyede bir kesme oluşturulur. Her kesmede LED3’ün durumu değiştirilir.

Bu şekilde saat bilgisi elde edilerek Lcd ekranda görüntülenir. Ayrıca buton kullanımına örnek olması için yazılıma kart üzerindeki butona basınca LED4’ü yakan kod parçası dâhil ettim.

stm32-rtc-stm32-nokia-lcd-arm-cortex-kit

Ana programdaki stm32_Init () fonksiyonu denetleyicinin tüm ayarlarının yapıldığı fonksiyondur. STM32_Init.c Keil’in STM32 serisi denetleyiciler için hazırladığı denetleyicinin başlangıç ayarlarını yapmaya olanak sağlayan bir kütüphanedir. Diğer denetleyiciler içinde Keil’in benzer kütüphaneleri vardır. Projenize STM32_Init.c kütüphanesini dahil edip sonrasında dosyayı program üzerinde açıp configuration wizard aracını kullanarak hiçbir kod yazmadan STM32’nin Clock, Zamanlayıcı, Port ve daha birçok birimi için ayarlamaları yapabilirsiniz.

Configuration wizard STM32_Init.c dosyasında gerekli değişiklikleri yaparak bizim için kütüphaneyi düzenler. Yaptığımız ayarların geçerli olması için programda main kısmında stm32_Init () fonksiyonunun bir kere çalıştırılması yeterlidir. Uygulamanın videosunu izleyerek Configuration wizard ekranının nasıl getirileceği ve ayarların nasıl değiştirileceği hakkında fikir sahibi olabilirsiniz.

keil-clock-configuration-arm-stm32

STM32 discovery kite program yükleme işlemi Keil üzerinden yapılmaktadır. ST-Link direk olarak program yüklemeyi desteklememektedir. Keil’in sitesinde bu eksiklik bildirilmiştir. Bu yüzden program yükleme işlemi debug menüsü üzerinden yapılmalıdır.

Uygulamanın Keil proje dosyaları: STM32 Discovery İlk İzlenimler ve RTC Uygulaması (STM32F100RBT6B)

Dosya indirme LINK listesi (TXT formatında) link-15913.zip şifre-pass: 320volt.com

Bir sonraki yazıda görüşmek üzere!

  1. KIRIKDR 2011/08/13
  2. Erhan 2011/08/13
  3. ahmet beyazıthan 2011/09/29
  4. Erhan 2011/09/29
  5. ahmet beyazıthan 2011/09/29
  6. Erhan 2011/09/29
  7. ümit 2011/12/01
  8. Erhan 2011/12/02
  9. Muhammet 2014/03/01
  10. quadi 2014/11/20

Yorum

Soru: