Hola, estoy haciendo un programa donde uso 2 interrupciones:
int_RB
int_timer0
Luego de habilitar las interrupciones y demas cosas(en el main), y sin q cambie ningun de los puertos RB4 - RB7 , me salta a la rutina de int_RB. Alguien me pude decir q estoy haciendo mal
Aca dejo el main y la rutina de int_RB
#INT_RB
void cruce(void)
{
int aux=0;
#asm
movwf savew
swapf STATUS,0
movwf savestatus
clrwdt
bcf INTCON,0
#endasm
aux = envio;
aux = aux & 2;
if (aux == 0)
enviar();
#asm
swapf savestatus,0
movwf STATUS
swapf savew,1
swapf savew,0
#endasm
}
void main(void)
{
set_tris_a(0x00);
set_tris_b(0x80);
set_tris_c(0x00);
set_tris_d(0x00);
output_low(pin_D0);
output_low(pin_D1);
output_low(pin_D2);
output_a(0x00);
output_b(0x00);
output_c(0x00);
output_d(0x00);
enable_interrupts(GLOBAL); // Habilito Interrupciones
enable_interrupts(INT_RB);
enable_interrupts(INT_RTCC); // Habilito Interrupción RTCC
setup_counters(RTCC_INTERNAL,RTCC_DIV_256);// TIMER0: Clock Interno, Presescaler 256.
set_timer0(252); //T = (256 - precarga) * Preescaler * 4 / Fosc --->>> precarga=252
setup_adc_ports(NO_ANALOGS);
setup_adc_ports(RA0_ANALOG);
setup_adc(ADC_CLOCK_INTERNAL); // Reloj interno para el ADC
set_adc_channel(0); //Canal 0.