PIC C'de dış kesme (B0) uygulaması yapmam gerekiyor ama bu konuda pek bir bilgim yok. Elinizde bu konuyla döküman, örnek varsa paylaşıp açıklayabilir misiniz?
#include <18f2550.h>
#use delay(clock=48MHz)
#bit led0=0xf82.0
#bit led1=0xf82.1
#bit led2=0xf82.2
#int_EXT
void EXT_isr_0(void)
{
led0=1;
led1=0;
led2=0;
delay_ms(500);
}
#int_EXT1
void EXT_isr1(void)
{
led0=1;
led1=1;
led2=0;
delay_ms(500);
}
#int_EXT2
void EXT_isr_2(void)
{
led0=1;
led1=1;
led2=1;
delay_ms(500);
}
void main()
{
set_tris_a(0xff);
set_tris_b(0x07);
set_tris_c(0x00);
enable_interrupts(INT_EXT);
enable_interrupts(INT_EXT1);
enable_interrupts(INT_EXT2);
enable_interrupts(GLOBAL);
while(true)
{
led0=0;
led1=0;
led2=0;
}
}
Bu konuyla ilgili ayrıntılı bir yazım blogumda mevcut.
http://elektrokod.wordpress.com/2013/10/07/pic16f628-mikrodenetleyicinde-rb0-kesmesi-interrupt/ (http://elektrokod.wordpress.com/2013/10/07/pic16f628-mikrodenetleyicinde-rb0-kesmesi-interrupt/)
Faydalı olması dileklerimle...