Interrupt Gear Tooth Sensors

Our team is working on using the geartooth sensors integrated with the AndyMark 2-speed transmissions. We are going to go with an interrupt-driven system using the code from http://www.chiefdelphi.com/forums/showthread.php?t=61242 . Unfortunately, as soon as we type in:



/* Initialize INT2 for pulse counting. INT2 is rc_dig_in01 */
INTCON3bits.INT2IE = 1; //enable INT2
INTCON3bits.INT2IP = 0; //set INT2 to low priority
INTCON2bits.INTEDG2 = 1; //rising edge

/* Initialize INT3 for pulse counting INT3 is rc_dig_in02*/
INTCON3bits.INT3IE = 1; //enable INT3
INTCON2bits.INT3IP = 0; //set INT3 to low priority
INTCON2bits.INTEDG3 = 1; //rising edge

INTCONbits.GIEL = 1; /* Enable Global Low Priority Interrupts */

into the user_routines_fast.c, MPLAB tells us that the first line (after the comment) is a syntax error. Nobody else seems to be having this problem. Is there something we may be doing wrong?

Is that the only definition of InterruptHandlerLow() in user_routines_fast.c or is what you posted only part of it? It may be a good idea to post the code from the entire file to be safe.

Are you using the default code and MPLab 7.2? There is an error that one of the variables is defined wrong in C:\MCC18\include\p18f8722.h (or whatever your directory is) I think it is one of the priority bits, look in that file for both and make sure its correct. Kevin has the corrected one in his encoder code if you take a look at that. Or you may be getting something from annother line?

It was that problem. With Kevin’s updated p18f8722.h, it is not giving us any errors. Thanks a lot!