33.6.9 Sleep Mode Operation
The CAN can operate in Idle0 sleep mode, but cannot operate in Idle2 and Standby sleep modes. Consequently, the CAN interrupts can only be used to wake up the device from Idle0 Sleep mode.
The CAN has its own low-power mode that may be used at any time without disabling the CAN. The clock sources cannot be halted while the CAN is enabled unless this mode is used. It is also mandatory to allow the CAN to complete all pending transactions before entering standby by activating this low-power mode. This is performed by writing one to the Clock Stop Request bit in the CC Control register (CCCR.CSR = 1). Once all pending transactions are completed and the idle bus state is detected, the CAN will automatically set the Clock Stop Acknowledge bit (CCCR.CSA = 1). The CAN then reverts back to its initial state (CCCR.INIT = 1), blocking further transfers, and it is now safe for CLK_CANx_APB and GCLK_CANx to be switched off and the system may go to standby.
To leave low-power mode, CLK_CANx_APB and GCLK_CANx must be active before writing CCCR.CSR to '0'. The CAN will acknowledge this by resetting CCCR.CSA = 0. Afterwards, the application can restart CAN communication by resetting bit CCCR.INIT.