No se puede configurar ISR para PIC24F08KA101

1

Tengo un problema al configurar la rutina de servicio de interrupción para PIC24F08KA101.
He inicializado con éxito IE, IF, IP para las interrupciones que necesito usar.
Parte del código que inicializa estos:

void
int_init(void)
{       
IEC1bits.INT2IE=1; //Enable Interrupt
IFS1bits.INT2IF=0; //Clear Interrupt Flag
INTCON2bits.INT2EP=0;   //activate on positive edge
IPC7bits.INT2IP=3; //Set priority (higher gets executed first)
IEC0bits.T1IE=1;   //Enable Interrupt
IFS0bits.T1IF=0;   //Clear IF
IPC0bits.T1IP=2;   //Set priority
}

Los he comprobado desde el PIC24F08KA101.h. El preescalador de reloj no se muestra en este código.
Tengo un problema al inicializar ISR para INT2 (puerto de interrupción externa 2) y T1 (timer1). Intenté usar este ISR, pero no funciona. Lo obtuve de ejemplos de código .

void __attribute__((interrupt,no_auto_psv)) _INT2Interrupt(void); //Declare
void 
__attribute__((interrupt,no_auto_psv)) _INT2Interrupt(void)
{
    //Do stuff here
}

Intenté lo mismo con el temporizador1, pero no funciona también.
Yo uso HI-TECH para el compilador dsPIC / PIC24 V9.62 .
INT2 es el puerto seleccionable para el PIC que utilizo.

    
pregunta Triak

1 respuesta

1

SOLUCIONADO: necesitaba usar esta inicialización en lugar del segundo código en mi pregunta.

void interrupt _T1Interrupt(void); //Initialize
void 
interrupt _T1Interrupt(void) @ T1_VCTR  
{
//Do stuff here
}
    
respondido por el Triak

Lea otras preguntas en las etiquetas