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 BUS IDLE MODE

Hi ,

I am working with Tiva TM4C123GH6PZI controller and using CAN bus , I need to put the micro in sleep mode if there is no communication over the CAN bus , 

How do i check if the bus is IDLE ??

Can a communication interrupt wake the micro from sleep ??

Regards

Abhay

  • I don't see a easy means in the CAN registers to check bus idle state.  However, i don't think it is needed.

    You can sleep the main core while leaving the CAN peripheral clocked and active.  Any interrupts to the CAN will wake the CPU and vector to the interrupt.  You should be able to go into and out of sleep mode regardless of the state of the CAN bus.

    By default all peripherals are clocked in sleep mode the same as in RUN mode.  This is usually not the most power efficient. Look into the following functions to enable only the peripherals you want clocked during sleep mode for additional power savings.

    SysCtlPeripheralSleepEnable

    SysCtlPeripheralClockGating