Supongo que la familia PIC18F tiene rutinas de servicio de interrupción de alta y baja prioridad, no solo un ISR. La primera vez que trato con esto, parece que el compilador (XC8) no puede reconocer las dos interrupciones de diferencia de un código heredado. Básicamente, no sé dónde mirar cuando espero averiguar qué decirle al compilador que marque estas dos funciones como interrupciones.
#include <xc8.h>
...
__interrupt(high_priority) void MyHighPriorityIsr(void)
{
// stuff
}
__interrupt(low_priority) void MyLowPriorityIsr(void)
{
// stuff
}
Me estoy poniendo:
error: (285) no identifier in declaration
error: (1275) only functions may be qualified "interrupt"
La página 34 de la guía del usuario del compilador hace que parezca bien, pero estoy recibiendo errores y no puedo compilar: enlace