如果唤醒中断被允许(CAN_IER寄存器的WKUIE位为’1’),那么一旦检测到CAN总线活动就会产生唤醒中断,而不管硬件是否会自动唤醒bxCAN。
在对SLEEP位清’0’后,睡眠模式的退出必须与CAN总线同步,当硬件对SLAK位清’0’时,就确认了睡眠模式的退出。
https://blog.csdn.net/zhangxufei/article/details/52334384
只能靠中断唤醒,也就是什么中断都能唤醒
如果用CAN接收中断,那么就必须吧其他中断关掉然后再休眠
STM32的低功耗有三种模式:Sleep、Stop和Standby
Sleep可以任意中断唤醒
后两种会关闭1.8V区的时钟,CAN的时钟应该也会被停掉。
希望CAN能唤醒的话,只能进入Sleep这种低功耗模式。