CCS Interrupts - Dış Kesme

Giriş 

Kesmeler diyince gözünüz korkmasın bu konu başlangıç seviyesindeki arkadaşlarımız için zor görünsede aslında okadarda zor değildir pcwde kullanımı çok kolaydır.

Peki Dış Kesme Nedir ? 

Şöyle düşünürsek konuyu anlarız diye umut ediyorum diyelimki salonda televizyonunuz karşısına geçmişsiniz çok sevdiğiniz bir diziyi seyrediyorsunuz aniden ev telefonu çaldığını düşünün eğer evinizde tivibu varsa :) diziyi durdurup telefonu açarsınız telefon konuşmanız bittiğinde telefonu kapatır tivibu kumandanızı alır play tuşuna basar ve dizinizi kaldığı yerden izlemeye devam edersiniz :) işte tamda böyle birşey kesmeler. Şimdi kesmeleri bırakıp tivibuyu araştıranlar olur mu bilmem. inşALLAH faydalı olabilmişimdir diyorum ve bu çok önemli konuyla ilgili çok önemsizmiş gibi görünen üç beş satırdan oluşan kesme kullanımını yazayım . Aslında önce basitce detaya inelim ve kullanılan komutların tanımlarını yazalım daha isabetli olur.

 

Kesme Fonksiyonları

  •  interrupt_active
  • enable_interrupts
  • disable_interrupts
  • clear_interrupt
  • ext_int_edge

 

Interrupt_Active

Kesmenin  aktif olup olmadığını sorgularken kullanırız.

Enable_Interrupts

 Bu fonksiyon bütün kesmeler için kullanılır bu fonksiyon ile kesmeleri aktif hale getiririz.

Disable_Interrupts

Bu fonksiyon yuklarıda bahsedilen fonksiyonun tan tersini yapar bütün kesmleri iptal eder.

Clear_Interrupts

Kesme oluştuğunda bazı bayraklar set edilir değerileri değişir bayrağı temizlemek için kullanılır.

Ext_Int_Edge

Kesmenin alçalan değerde yada yükselen değerde devreye girmesi sağlanır
Alçalan değer = L (0)
Yükselen değer = H (1)

Genel Kullanım Şekli

 



15. satırda ext_int_edge(H_TO_L) olsaydı Yüksekten alçağa düştüğümüzde kesme devreye girecekti.
0 DAN 1'E  yada 1 DEN 0'A Ir alıcı gözler ışık almasken 0 dır yani LOW ışık aldığında 1 olurlar yani HIGH bu oluşan durumu tanımlamış oluyoruz bu fonksiyonla.


Hazırlanılıyor..

Hiç yorum yok:

Yorum Gönder