STM32F4 Discovery STM32F4 Discovery Led Uygulaması By Konuk Yazar Posted on 2 Ocak 2015 3 min read 2 0 7,417 Paylaş ! Facebook Paylaş ! Twitter Paylaş ! Google+ Paylaş ! Reddit Paylaş ! Pinterest Paylaş ! Linkedin Paylaş ! Tumblr Merhabalar, Arkadaşlar bu yazımızla birlikte artık uygulama yapmaya başlıyoruz.STM32F4 Discovery üzerinde kullanabileceğimiz D portunun 12,13,14 ve 15 uçlarına bağlanmış ledler mevcuttur.Biz bu uygulamamızda 500ms aralıklarla aç/kapa işlemi gerçekleştireceğiz.İlk önce programdaki kavramlar hakkında bilgi vereceğiz. GPIO(General Purpose Input/Output) Bu kütüphane,mikrodenetleyicinin pinlerini fiziksel olarak kullanabilmemiz için gereklidir.Bu sayede pinleri giriş veya çıkış olarak ayarlayabilirsiniz.Eğer pini lojik 0 yaparsak pinimizden 0 volt,eğer lojik 1 seviyesinde seçersek 3,3 volt görürüz. Pinleri ayarlamamız için GPIO_InitTypeDef yapısına ihtiyaç vardır. GPIO_InitTypeDef 5 seçeneği vardır. 1. GPIO_Pin: Kullanacağın pini seç. 2. GPIO_Mode: Pinin giriş veya çıkış olarak ayarla. 3. GPIO_OType: Çıkış tipini seç. 4. GPIO_PuPd: Pull resistor seç. 5. GPIO_Speed: Pin hızını seç. Daha ayrıntılı incelersek; GPIO_Pin: Bununla pinleri seçebiliriz. GPIO_Mode: Pinlerin modunu seçebiliriz. GPIO_Mode_IN: Pini giriş olarak ayarla. GPIO_Mode_OUT: Pinleri çıkış olarak ayarla. GPIO_Mode_AF: Alternatif fonksiyonlar ( SPI, USART..) GPIO_Mode_AN: Pinleri analog olarak ayarla (ADC veya DAC) GPIO_OType GPIO_OType_PP GPIO_OType_OD GPIO_PuPd GPIO_PuPd_UP GPIO_PuPd_DOWN GPIO_PuPd_NOPULL GPIO_Speed: GPIO hızını seçebiliriz. GPIO_Speed_100MHz GPIO_Speed_50MHz GPIO_Speed_25MHz GPIO_Speed_2MHz [php] /** * @author Bilal Kaya * @email [email protected] * @website http://roboturka.com * @ide Keil uVision 4 */ #include "stm32f4xx.h" #include "defines.h" #include "tm_stm32f4_delay.h" #include "tm_stm32f4_disco.h" int main(void) { /* Sistemi baslat */ SystemInit(); /* Gecikmeyi Baslat */ TM_DELAY_Init(); /* Board üzerindeki ledleri baslat*/ TM_DISCO_LedInit(); while (1) { TM_DISCO_LedToggle(LED_GREEN); TM_DISCO_LedToggle(LED_ORANGE); TM_DISCO_LedToggle(LED_RED); TM_DISCO_LedToggle(LED_BLUE); /* Bekle 500ms */ Delayms(500); } } [/php] Proje dosyalarına buradan ulaşabilirsiniz.