请教关于STM32F0系列停止模式下无法通过CAN唤醒的问题

qq_32730997 2016-11-05 03:07:34
最近遇到的一个STM32在停止模式下无法用CAN来唤醒MCU的问题,我首先尝试用串口来唤醒停止模式下的MCU,结果是可以唤醒的,配置方法就是在进入停止模式之前将串口的接收引脚PA10配置成外部中断触发模式,唤醒后初始化系统时钟和串口配置。但是用同样的方式将CAN的接收引脚PB8设为外部中断触发模式,唤醒后初始化系统时钟和CAN配置却无法唤醒,虽然使用CANTest发送数据给板子显示发送失败,但是测量PB8是有波形的,使用的CAN收发器是支持低功耗模式下接收CAN帧的。按道理说只要PB8有波形就会唤醒MCU啊(难道停机模式下CAN控制器无法正常工作导致的?),希望做过类似功能的朋友或对这个问题有兴趣的朋友能提出一些建议,谢谢!
退出停止模式的方式

进入停止模式的函数

串口初始化配置

通过串口唤醒

CAN初始化配置


通过CAN唤醒

...全文
1215 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
xkyle 2017-01-13
  • 打赏
  • 举报
回复
引用 3 楼 qq_32730997 的回复:
找到原因了,中断函数的问题!
贴下源码,让大家看看,到底是什么问题
qq_32730997 2016-11-10
  • 打赏
  • 举报
回复
找到原因了,中断函数的问题!
qq_32730997 2016-11-05
  • 打赏
  • 举报
回复
初始化CAN的时候,CAN_InitStruct->CAN_AWUM 激活后试了一下,也无法唤醒。
qq_32730997 2016-11-05
  • 打赏
  • 举报
回复
图4的44行有错误,应该对应中短线10,。刚才也尝试了一下将can接收的抢占优先级改为小于PB8的抢占优先级还是无法唤醒。

27,377

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 单片机/工控
社区管理员
  • 单片机/工控社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧