Programlama Kesmesi
//AÇIKLAMA
//Bu uygulamada Arduino’nun 8 nolu ICP1 pinine bağlı butona bastığımızda,
//ICP1 pini toprağa götürüldü ve bu pinde bir mantık seviyesi değişikliği
//meydana geldiğinden giriş yakalama gerçekleşti. Ardından kesmeye gidilmesi sağlandı.
void setup()
{
Serial.begin(9600);
cli();
TCCR1A = 0;
TCCR1B = 0;
TCCR1B |= (1 << CS12) | (0 << CS11) | (1 << CS10); //prescaler 1024 yapılıyor
TCCR1B |= (1 << ICES1); //ICES1=0 ise; düşen kenar. ICES1=1 ise yükselen kenar
TIMSK1 |= (1 << ICIE1); //Timer1 giriş yakalama kesmesi aktif edildi
TCCR1B |= (1 << ICNC1); //Gürültü önleyici aktif edildi.
sei();
}
void loop()
{
Serial.println("Kesme Bekleniyor...");
delay(500);
}
ISR(TIMER1_CAPT_vect)
{
Serial.println("Dikkat!!! Kesmeye Gidildi");
}
Devre Şeması

0 comments:
Yorum Gönder