ARM Uygulamaları – STM32F411 Buton ile LED Kontrol

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.

1

 

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.

2

 

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

 

Proje dosyaları için tıklayınız…

Hakan Kaya
Yarı zamanlı mühendis. Yarı zamanlı eğitmen. Biraz da film sever.
error: 5846 sayılı Fikir ve Sanat Eserleri Kanunu tarafında içeriklerin izinsiz kopyalanması, paylaşılması ve çoğaltılması yasaktır.