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.

CAN reception ISR problem with TMS320F2812

Other Parts Discussed in Thread: TMS320F2812

Hi,

I have one issue regarding the CAN “Receive” Interrupt service routine for TMS320F2812. Actually my customer is unable to invoke CAN ISR for Receiving the data.

 

The example program Ecanback2back is on polling and they have implemented that. The polling CAN reception is working absolutely fine thus conforming that hardware is alright.

 

But they are unable to invoke the reception interrupt for CAN. It actually is unable to come out of initialization mode and go to normal mode. It hangs in the InitECan routine’s on this set of code lines:

 

      // Wait until the CPU no longer has permission to change the configuration registers

    do

    {

      ECanaShadow.CANES.all = ECanaRegs.CANES.all;

    } while(ECanaShadow.CANES.bit.CCE != 0 );         // Wait for CCE bit to be  cleared..

 

The response from TI help-desk is to use polling for reception because there seems some issue with CAN reception ISR. They have given sample example for CAN transmission ISR which they are trying to invoke but their application needs as of now only the receive interrupt.

 

Awaiting your response.

  • If the code hangs in this loop, the CAN initalization has failed. There is no issue with CAN reception ISR whatsoever; it is working perfect in hundreds of customer projects. Where did you get this information from?

    I have attached an example for a 2812 duplex CAN transmit and receive interrupt. This example is taken from my lessons about C2000 CAN.

    Regards

    Frank Bormann

     

  • I purchased an F2812 Zwickau board last year to help start a
    design project, and received a CD ROM with a seminar
    authored by you, including a lot of source files.

    But I can't find that file anywhere. The CAN examples all
    use polling.  Is it from a different seminar?

  • Yes, the files from the Teaching-CDROM are just simple examples and use CAN polling. You can use my attachment file from the previous reply above as an example for an interrupt driven CAN communcation. All the enhanced CAN examples are part of a separate seminar series.