We are running a survey to help us improve the experience for all of our members. If you see the survey appear, please take the time to tell us about your experience if you can.
I am getting the following error: *** ERROR L125: INTERRUPT NUMBER NOT DEFINED SYMBOL: XP0INT I am not sure why because the symbol is a standard interrupt vector for CAN. Here is my code:
void CAN_vIsr(void) interrupt XP0INT { if (XP0IR) { if (CAN_OBJ[1].MCR & 0x0300 == 0x0200) { if(CAN_OBJ[1].MCR & 0x0c00 == 0x0800) { for(i=0;i=7;i++) { CAN_OBJ[0].Data[i] = CAN_OBJ[1].Data[i]; can_data[i] = CAN_OBJ[1].Data[i]; } } CAN_OBJ[1].MCR = 0xF5FD; } } XP0IR = 0; RTCvalue = (can_data[0]*3600) + (can_data[1]*60); currentRT(); }
The DAVE code (a GUI tool by Keil to develop files the user can then modify) uses the same interrupt vector.
It always helps if you mark which lines are mentioned in the error messaes.
It seems like the compiler goes wrong at the XP0INT keyword and complains about a ';' character. Have you somewhere in any header file played with the XP0INT define, and somewhere added a ';' in the #define?
You should think about pre-processing the source and look at the result after all #define has been expanded. Then it will be obvious why the compiler complains.