Merhabalar. Bu çalışmada kart üzerindeki buton ile LED’leri yakıp söndüreceğiz. Full proje dosyası en alttadır.
Kütüphaneleri indirmek için tıklayınız.
IAR üzerinden STM32F411 için kütüphaneleri eklenmiş boş proje dosyası taslağı için tıklayınız.
Öncelikle ben daha düzenli çalışma ortamı olması açısından eklediğimiz kütüphaneleri aşağıdaki gibi sınıflandırdım. İsteğe bağlı kişisel fantazinize göre değiştirebilirsiniz.
Kütüphane kurulumu… direk devam’a atlayabilirsiniz
Project‘e sağ tıklayıp Add > Add Group üzerinden EWARM, STM32F4xx_StdPeriph_Driver, User adlarında 3 adet grup açalım.
Buradaki
- EWARM: Embedded Workbench ARM, Assembly dili ile yazılmış kongifürasyonlar tanımlıdır.
Ekleyeceğimiz dosya;
\STM32F4-Discovery_FW_V1.1.0\Libraries\CMSIS\ST\STM32F4xx\Source\Templates\iar
altındaki startup_stm32f4xx.s
- STM32F4xx_StdPeriph_Driver: STM32F4 için çevresel birimlerin driverler’ını ekleyeceğimiz gruptur. GPIO’lar, I2C, RCC gibi kütüphaneleri ekleyeceğiz.
Ekleyeceğimiz dosyalar kullanacağımız modüllere göre değişmekte olup (sadece kullanacaklarınızı ekleyin);
\STM32F4-Discovery_FW_V1.1.0\Libraries\STM32F4xx_StdPeriph_Driver\src
altındadır.
- User: Bizim üzerinde kodlar yazacağımız main.c gibi dosyaları içerir.
stm32f4xx_conf.h için;
Useful_Files klasörü içerisinden proje dosyasının içine kopyalayın ve oradan IAR’a sürükleyin.
system_stm32f4xx.c için;
~\STM32F4-Discovery_FW_V1.1.0\Libraries\CMSIS\ST\STM32F4xx\Source\Templates
içindeki system_stm32f4xx.c dosyasını proje dosyasının içine kopyalayın. Sonra oradan tutup IAR’ın içine sürükleyin.
stm32f4xx_it.c için;
Useful_Files klasörü içerisinden stm32f4xx_it.h dosyasıyla beraber proje dosyasının içine kopyalayın ve oradan IAR’a sürükleyin.
Bundan sonra adım dosyaları eklediğimizde .h (header) dosyalarını da referans göstermemizdir.
Yani? Project‘a sağ tık yapıp C/C++ Compiler sekmesinde Preprocessor‘dan Additional include directories‘ e dosya yollarını ekleyeceğiz.
- İlk olarak eklediğimiz Cortex mimarisi için çevresel katman kütüphanelerini ekleyelim.
~\STM32F4-Discovery_FW_V1.1.0\STM32F4-Discovery_FW_V1.1.0\Libraries\CMSIS\Include
- STM32F4 için registerların tanımlı olduğu dosyamızı da referans gösterelim.
~\STM32F4-Discovery_FW_V1.1.0\STM32F4-Discovery_FW_V1.1.0\Libraries\CMSIS\ST\STM32F4xx\Include
- Driverların .h dosyaları için şunu da ekleyelim.
~\STM32F4-Discovery_FW_V1.1.0\STM32F4-Discovery_FW_V1.1.0\Libraries\STM32F4xx_StdPeriph_Driver\inc
- Proje dosyasına attığımız dosyaları da bulması için $PROJ_DIR$ da ekliyoruz.
Sağ köşede üç noktaya tıkladığınızda (…) şunun gibi olmalı. Yalnız ben gereksiz bir kütüphane daha eklemişim.
Defined symbols kısmına USE_STDPERIPH_DRIVER ve STM32F4XX yazmayı unutmuyoruz.
General options‘tan Library Configuration sekmesinden CMSIS bölümünden Use CMSIS ‘a bir tık atalım.
Kartınıza göre diğer ayarlarınızı da yaptığınız da debug yaptığınız sorunsuz yükleme başarılı ise artık led yakmaya geçebiliriz.
Devam…
Kod
httpc://github.com/haknkayaa/STM32F4-Uygulamalari/blob/master/3-butonlaLedKontrol/main.c
video
Leave a Reply