This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Not getting CAN transmit interrupt

Other Parts Discussed in Thread: HALCOGEN

I initialized the CAN1 interface on the Hercules development kit (570LS1227) and was able to read/write msgs over the bus with no problem. We use our own initialization but Halcogen for the VIM vectors. I now ported this to our own board (Hercules 570LS0332), run the same initialization, but see no interrupts. The registers appear the same as on the development board. I do see the transmit request register being set, but nothing after that (i.e. the IntR and IntPen regs do not get set). It must be something simple I'm missing as the 2 devices CAN should be identical. Any hints on what else to look for? Thanks.

  • Hello,

    Please check the following:

    1. DCAN1 level 0/1 Interrupts are enabled inside the DCAN1 module
    2. Corresponding interrupt channels are enabled inside the Vectored Interrupt Manager (VIM)
    3. VIM RAM is configured correctly to have the address for the DCAN1 interrupt handlers at the correct offset addresses
    4. Vectored Interrupt Controller (VIC) port is enabled in the Cortex-R4 CPU
    5. The CPU is enabled to handle IRQ/FIQ exceptions (I or F bit in CPSR is cleared)

    Regards, Sunil

  • Thanks. We had a slightly different crystal freq that I hadn't accounted for, so the problem is solved.