Elektronik Devreler Projeler Elektronik ve biraz daha fazlası İletişim - Araçlar - Dikkat - Topluluk
Elektronik / Mikrodenetleyici Projeleri/

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

Sponsorlu Bağlantılar

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-ilk-izlenimler-ve-rtc-uygulamasi-stm32f100rbt6b.ZIP

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

  • KIRIKDR

    Erhan hocam yine döktürmüşsün eline sağlık kiti ben de aldım öyle yatıyordu çok iyi oldu bu çalışma :D

  • Erhan

    Teşekkür ederim dostum sağolasın. Kıyıda köşede yatacak denetleyici değil STM32 :)

  • ahmet beyazıthan

    hocam linklerde 10$ civarı rakam gözüküyor bu kit doğru mudur?

  • Erhan

    Doğrudur fiyatları o civarda ya 10 dolar yada 10 euroya bu ürünü temin edebilirsiniz. Ama onun yerine yeni modelini çıkmış. Lcd’li daha gelişmiş özellikli onu almakta fayda var.

    http://www.st.com/internet/evalboard/product/250990.jsp

  • ahmet beyazıthan

    yurtdışından getirtmek bize toplamda kaça malolur vergi kargo vs ve kaç günde elimize ulaşır?

  • Erhan

    Bana ürün hediye olarak gönderildiği için bişey diyemeyeceğim. Fakat sitelerde belirtirler kargo ücretini. Düşük maliyetli bi ürün olduğu içinde gümrük v.s. takılmadan ürün+kargo fiyatına elinize ulaşır herhalde.

  • ümit

    erhan hocam bu kiti programlamak için hangi program gerekli bi kısaca anlatsanız en baştan driver kuruluşu dahil

    kiti aldım usb taktım driver kurarken ne yapacağım ? çok fazla kaynak yok hangi program gerekli kodu nereye yazacağım ? güzel bir örnek video yok mu sana zahmet yüksek lisans için öğrenmem gerekli

  • Erhan

    Keil programının kurman gerekiyor. Keil’in içinde kendi sürücüleri var. Programlama işini keil üzerinde c/c++ ile yapacaksın. Kitin kullanımı keilde proje ayarları gibi kısımlar kitin internet sitesindeki dokümanlarda anlatılmış. Bir çok örnek uygulamada mevcut. Onları incerlersen yardımcı olur kanımca. Birde Türkçe’ye biraz daha özen gösterelim lütfen.

    http://www.st.com/internet/evalboard/product/250863.jsp

  • Muhammet

    Erhan hocam ben Port B yi çıkış olarak kullanamıyorum A ve C yi kullanabiliyorum sadece nasıl halledebilirim bu sorunu

  • quadi

    arkadaşlar quadcoper için stm i önerirmisiniz neden ?