STM32F4’te Timer Interrupt ile Alive Led Uygulaması

Alive LED kavramını Türkçe’ye Hayat Işığı diye tercüme etmeyi uygun buldum. Adından da anlaşılabileceği gibi Alive LED kullanmanın amacı işlemci içerisine yüklenen kodun sağlıklı çalışıp, çalışmadığını gözlemleyebilmektir. Eğer bu ışık 1 saniye boyunca yanık bir saniye boyunca da sönük olarak Toggle oluyorsa, işlemci içerisine yüklenilen kodun her hangi bir sıkıntı yaşamadığının göstergesidir. Yani işlemcimiz hayattadır ve sağlıklı bir şekilde çalışıyor demektir.

Read more

STM32F4’te External (Harici) Interrupt ile User Button Uygulaması ve Interrupt’ta Priority (Öncelik) Kavramı

User Button ile LED Toggle uygulamasının Interrupt kullanılmadan yapmıştık. Interrupt’sız Input’ların main fonksiyonu içerisinde kullanılması için programın yürütmesinde büyük sıkıntılar oluştuğunu açıklamıştım. Çünkü int main(void)‘in içindeki while(1){…} sonsuz döngü blokunun içinde while döngüsü kullanmamız gerekiyor veya flag kullanarak butona bastığımızda flag’ı 1’e eşitleyerek butona basıldığını anlayabilir ve de işlemimizi yaptıktan sonra flag‘ı tekrar 0 yaparak programın döngüde kalmasını engelleyebiliyor olsak da işlemcimiz butona bastığımız andan çok daha hızlı çalıştığı için bu çeşit bir metotta da sıkıntı yaşayabilirdik. En sorunsuz uygulama ise butona basıldığında ana programımızı çok kısa bir süreliğine Interrupt ile keserek, External Interrupt Handler ile butona basıldığında yapılması gerekenleri yapabiliriz. Bu şekilde programımız kaldığı yerden sorunsuz olarak çalışmaya devam etmiş olur.

Read more