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