İnterrupt – Kesmeler ve CCS’te Kullanımı

  • 0

İnterrupt – Kesmeler ve CCS’te Kullanımı

Category : Makaleler

-İnterrupt- Bu kelime profesyonel çalışmaya başlarsanız her gün duyacağınız bir kelime olacak. Haklı olarak, ileri düzey yazılımlarda bunlar olmaksızın işlemler çok zor gerçekleştirilir.

int main() olarak yazdığınız fonksiyon, EEPROM’a yazılmış sıralı kod dizinidir. Burada işlemler sırasıyla gerçekleşir. Interrupt’lar ise, belli bir sıralamada olmaksızın hafızada yer alırlar ve sürekli belli bir durumun oluşması yada varolanın değişmesini beklerler. Eğerki bekledikleri gerçekleşirse, FLAG denilen işaretçisini havaya kaldırır(havaya kaldırır derken logic-1 durumu kastediliyor.) Bir işaretçi havaya kalktığı durumda, denetleyicinin işlemleri yürüten birimi, EEPROM’daki sıralı bilgileri okumayı duraklatıp flag yani bayrağın kalktığı yere gider ve orada yapılması istenenleri yapar. Ardından EEPROM’da bıraktığı yere tekrar döner.

Bu olay bize ne kazandırır? Mesela timer interrupt’ı aktifleştirildi. Timer ayarları doğrultusunda sizin belirlediğiniz zaman aralıklarında bayrağı kaldırır. Diyelim ki timer interrupt’ının fonksiyonu içinde de bir saniye değişkeni var. Ve timer saniyede bir kesme uyguluyor. O zaman siz hiç bir işlem yapmaksızın cihazın içinde saniye oldukça hassas bir biçimde sayılır. Ve istediğiniz satırda bu bilgiyi kullanabilirsiniz.

 

Aşağıdaki videoda interruptlar hakkında örnek kodlar bulabilirsiniz. (Orjinal makaleye ulaşmak için tıklayınız.)


Leave a Reply