完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
最近遇到的一个STM32在停止模式下无法用CAN来唤醒MCU的问题,我首先尝试用串口来唤醒停止模式下的MCU,结果是可以唤醒的,配置方法就是在进入停止模式之前将串口的接收引脚PA10配置成外部中断触发模式,唤醒后初始化系统时钟和串口配置。但是用同样的方式将CAN的接收引脚PB8设为外部中断触发模式,唤醒后初始化系统时钟和CAN配置却无法唤醒,虽然使用CANTest发送数据给板子显示发送失败,但是测量PB8是有波形的,使用的CAN收发器是支持低功耗模式下接收CAN帧的。按道理说只要PB8有波形就会唤醒MCU啊(难道停机模式下CAN控制器无法正常工作导致的?),希望做过类似功能的朋友或对这个问题有兴趣的朋友能提出一些建议,谢谢! |
|
相关推荐
5个回答
|
|
首先,你确定在stop模式下,惨能工作吗?然后用can中断唤醒,是没问题的,只要有任何中断,都能唤醒,但要确保这个外设在stop模式下是正常工作的
评分
|
||
|
||
lee_st 发表于 2016-11-8 10:46 谢谢,我看了一下数据手册中stop模式所指定的通信外设唤醒没有提到can中断唤醒的方式,可能是不支持can唤醒吧,其实换种方式就是前面提到的将can的接收引脚PB8对应的外部中断线8在进入stop模式之前配置成中断模式(串口就是这样做的,只不过stop模式下本就支持串口中断唤醒,我当时可能没配置好也就没用),按道理说PB8有波形就会触发中断,实际测得是有波形的但是并没有唤醒mcu,我也仔细校对过PB8的外部中断配置,其实也就是按照一个普通I/O口的配置外部中断的方式来配置的,中断线8也没有被其他引脚占用,有波形,但就是唤醒不了0.0.。。。。。。。。。纳闷了
|
|
|
|
是吧,下次仔细看看Datasheet,还是很有用的
|
|
|
|
找到原因了,中断函数的问题
|
|
|
|
我也有同样问题,能发下中断函数吗?或私信程序。谢谢!
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
AD7686芯片不传输数据给STM32,但是手按住就会有数据。
621 浏览 1 评论
1962 浏览 0 评论
如何解决MPU-9250与STM32通讯时,出现HAL_ERROR = 0x01U
1068 浏览 1 评论
hal库中i2c卡死在HAL_I2C_Master_Transmit
1487 浏览 1 评论
LL库F030进行3个串口收发,2个串口为232,一个为485,长时间后,会出现串口1停止运行,另外两个正常,只有重启复原
1924 浏览 1 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-19 04:25 , Processed in 0.529899 second(s), Total 55, Slave 46 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号