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 communication: CCE bit not getting 1

Other Parts Discussed in Thread: TMS320F2808, SYSBIOS

Hello

I have used TMS320F2808 TISRC folder=> DSP280x_ECan.c file and enabled CAN clock as guided by

http://e2e.ti.com/support/microcontrollers/c2000/f/171/t/150435.aspx

but still my code stuck up on  while loop ( CCE bit not getting 1.)

do
    {
      ECanaShadow.CANES.all = ECanaRegs.CANES.all;
    } while(ECanaShadow.CANES.bit.CCE != 1 );          // Wait for CCE bit to be set..

Please guide me to get out of this loop.

Please check my code.2677.CAN_Driver.zip

Thanks & Regards

Newbee

  • Hi,

    I would recommend you to implement the eCAN example codes first. I've attached the codes, check them out:

    3580.DSP280x_examples_ccsv4.zip

    Regards,

    Gautam

  • Hi Gautam

    I even tried your code. In CCS=> empty project and added file.

    Also added included option "${PROJECT_ROOT}/tiSRC"

    But for this my code was stuck on asm call in sys_ctrl.c file=>

    if (SysCtrlRegs.PLLSTS.bit.MCLKSTS != 0)
       {
          // Missing external clock has been detected
          // Replace this line with a call to an appropriate
          // SystemShutdown(); function.
          asm("        ESTOP0");
       }

    So I created new project with Sysbios=> typical project and configure bios => sys clk 20MHZ and Boot=> added C28 boot management to my configuration.

    In this case, it ran properly sys clk function but still stuck up in loop for CCS bit

    please guide me where I am making mistake