STM32F407 LED Yakıp Söndürme – ARM Uygulaması

STM32 programlamak için gerekli programları kurduysak artık ilk uygulamamıza geçebiliriz. LED yakıp söndürme örneği başlangıç için güzel bir seçim olacaktır. Kodun tamamını veriyorum ve devamında her satırı açıklayacağım.

#define LED_YESIL GPIOD_ODR.B12
void main() {
         GPIO_Digital_Output(&GPIOD_ODR, _GPIO_PINMASK_12|_GPIO_PINMASK_13|_GPIO_PINMASK_14|_GPIO_PINMASK_15);
         while(1){
                  LED_YESIL=~LED_YESIL;
                  Delay_ms(1000);
         }
}
  1. Satırda define komutu ile bir ön tanım yaptık. STM32 üzerinde yeşil renge karşılık gelen GPIOD_ODR.B12 ifadesini daha anlaşılabilir olması için LED_YESIL olarak adlandırdık. Siz isterseniz yapmayabilirsiniz ancak bunu yapmanızı şiddetle tavsiye ederim.
#define LED_YESIL GPIOD_ODR.B12

3. Satırda STM32 üzerinde bulunan tüm LED’leri tanımladık. GPIO_Digital_Output fonksiyonunun nasıl kullanıldığına dikkat edin. Ufak bir yazım yanlışında programınız çalışmayacaktır.

GPIO_Digital_Output(&GPIOD_ODR, _GPIO_PINMASK_12|_GPIO_PINMASK_13|_GPIO_PINMASK_14|_GPIO_PINMASK_15);

5. Satırda sonsuz bir while döngüsü açtık bunun nedeni yeşil LED ışığının sürekli olarak yanıp sönmesini sağlamak.

6. Satırda =~ ile LED_YESIL’in tersini aldık bu sayede eğer LED_YESIL yanıyorsa sönmesini, sönmüşse yanmasını sağladık. Ve 7.satırda bulunan Delay_ms(1000) komutu ile de bu işlemleri 1 saniye bekleyerek yapmasını sağladık.

LED_YESIL=~LED_YESIL;
Delay_ms(1000);

Kafanıza takılan bir kısım olursa lütfen aşağıya yorum yazmayı unutmayın. Keyifli kodlamalar.