OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 2450|回复: 2

谁有串口接收中断唤醒Stop模式的例程

[复制链接]

16

主题

53

帖子

0

精华

初级会员

Rank: 2

积分
122
金钱
122
注册时间
2017-10-3
在线时间
42 小时
发表于 2018-10-31 19:52:13 | 显示全部楼层 |阅读模式
20金钱
本人用的是stm32l031G6,想用串口让我的单片机与其他单片机通讯,但是我的单片机需要进入Stop模式,当其他单片机发指令过来时我需要唤醒并完整接收指令,或者不要第一个字节。
搞了两个月,目前串口接收中断不能唤醒Stop模式,目前做法是在Rx脚接一根线到另一个IO,这个IO作为唤醒脚。但是仍然存在问题,因为进入Stop模式,关闭了uart时钟,所以唤醒时
需要重新初始化时钟,这么一来,初始化完成后到接收到有效数据需要经过几个us,这肯定是不现实的。本人也试过Rx脚作为唤醒脚,唤醒后重新初始化uart,也一样不行。本人也用过LPUART,
也一样不可以,也上网查找了某些教程,配置过某些寄存器,都没有用。
希望有大神指教。

最佳答案

查看完整内容[请看2#楼]

不好意思,这个问题发出的第二天就解决了。在进入stop模式前设置快速唤醒时钟就可以了,115200的波特率,需要用两个字节唤醒,就能保证后面的数据正常。 你说的方法可行,但是比较麻烦。
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

16

主题

53

帖子

0

精华

初级会员

Rank: 2

积分
122
金钱
122
注册时间
2017-10-3
在线时间
42 小时
 楼主| 发表于 2018-10-31 19:52:14 来自手机 | 显示全部楼层
操作系统 发表于 2018-10-31 19:57
复杂的事情,简单来解决..建立重发机制就可以了..每次通信,对方 不回复.重发一次.直到达到最大发送次数.应该 ...

不好意思,这个问题发出的第二天就解决了。在进入stop模式前设置快速唤醒时钟就可以了,115200的波特率,需要用两个字节唤醒,就能保证后面的数据正常。
你说的方法可行,但是比较麻烦。
回复

使用道具 举报

50

主题

1805

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
6662
金钱
6662
注册时间
2016-5-29
在线时间
910 小时
发表于 2018-10-31 19:57:02 | 显示全部楼层
复杂的事情,简单来解决..建立重发机制就可以了..每次通信,对方 不回复.重发一次.直到达到最大发送次数.应该可以解决你的小问题.
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-7-5 21:33

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表