Hello
OK as far as I can tell you are using ProcessorExpert to generate low level drivers for your application and you are using your own CAN drivers.
Am I right?
The point is that Processor Expert is initializing the whole vector table in vectors.c, so there is an overlap when you are trying to initialize CAN vectors with some other values.
In order to fix the problem do the following:
- Edit the file canhcs12.c
- Make sure that there is no vector number associated with the functions
gCan_TxIntHandler, Can_RxIntHandler, gCan_ErrIntHandler &
gCan_WuIntHandler
Change a line like:
interrupt 39 void gCan_TxIntHandler(void)
into
interrupt void gCan_TxIntHandler(void)
- For each of the interrupt source enumerated above, add an InterruptVector
Bean. Make sure to select the appropriate interrupt vector and specify the
corresponding function name.
Processor Expert will insert the address of the specified function in his vector table.
This should do it.
CrasyCat