This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Interrupt number not found

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.

Parents
  • 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.

Reply
  • 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.

Children
No data