Haberler:

Forum kuralları güncellendi LÜTFEN  okuyunuz:  https://bit.ly/2IjR3ME

Ana Menü

Pic18f4550 RB0 kesmesi

Başlatan kenan_re, 20 Haziran 2013, 13:30:51

kenan_re

18F ile ilgili yaptığım çalışmada dış RB0 kesmesi kullanıyorum. INTCON Aşağıdaki şekilde tanımlı
INT0IF	=0x00; // RB0/INT kesme bayrağı temizleniyor
	INT0IE	=0x00; // RB0/INT izni KAPALI
	PEIE	= 0x00; 	// Yardımcı kesme KAPALI (INTCON,6. biti)
	GIE		= 0x00; 	// Genel kesme KAPALI    (INTCON,7. biti)


Bu kodlara rağmen  INT0IF bayrağı "1" oluyor. Başka bir kesme için(örneğin RCIF için) kesme döngüsüne gittiğimde INT0IF=1 olduğu için onun içinede giriyor.

RB0 kesmesi açık olmadığı halde bayrağın 1 olmasının sebebi nedir ?

Teşekkürler.

JKramer

Kesme bayraklarının 1 olması, ilgili kesmelerin ve/veya global kesmenin açık olmasına bağlı değildir. Katalogların "Interrupts" bölümlerinin girişinde bu uyarıyı bulabilirsiniz.

Tagli

Bu sebeple döngü içindeki karşılaştırmalarda şart ifadesi şu şekilde yazılır:

if (INT0IF == 1 && INT0IE == 1)
Gökçe Tağlıoğlu

kenan_re

evet fonksiyonu az önce o hale getirmiştim. hiç dikkatimi çekmemişti bu durum :)