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.

TMDSCNCD2800157: MCAN example code (mcan_ex7_classic_transmit) not working for TMDSCNCD2800157

Part Number: TMDSCNCD2800157
Other Parts Discussed in Thread: TCAN1162EVM

In our project we are trying to use MCAN, as a first step i tried to execute the examples in C2000.

Iam using the control card with TCAN1162EVM transceiver and executing the mcan_ex7_classic_transmit.c from C2000, but i can observe that the code always halts at MCAN_getTxBufReqPend function and TRP bit 0 is always set. In PCAN viewer i always see Error passive warning so i also tried changing different bit rate parameters but iam unsuccessful in finding the issue. Since its a time critical task i would like to know various reasons that could cause this issue. Can you suggest correct configuration on PCAN viewer to execute it successfully.Iam also attaching the PCAN and debugging screenshots for your reference. Can you also provide some helpful documents for mcan configurations for 2800157 controller.

  • Shubha, 

    There is a known bug in the MCAN examples for F280015x, it has been fixed for the upcoming release.

    The function call to set the MCAN clock divider has been omitted in the examples. So the workaround for the issue is as follows (line 9):

        //
        // Initialize GPIO and configure GPIO pins for CANTX/CANRX
        //
        Device_initGPIO();
    
        //
        // Configure the divisor for the MCAN bit-clock
        //
        SysCtl_setMCANClk(SYSCTL_MCANCLK_DIV_3);        //***Add this function call***
    
    
        //
        // Configuring the GPIOs for MCAN.
        //

    Thanks.