你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

stm32l4R7ZI的uart4在stop2模式下唤醒偶发数据接收丢失或者乱码

[复制链接]
苏幕遮201 提问时间:2025-11-28 16:11 / 未解决

stm32l4R7ZI芯片的uart4接收引脚并联一个GPIO,mcu会在RTOS空闲任务中进入stop2模式,利用GPIO外部中断唤醒mcu,然后开启串口接收,串口采用的是DMA和空闲中断,串口4采用的是HSI时钟,系统正常运行是MSI,进入低功耗时系统时钟设置为HSI,从stop2唤醒时,系统时钟会切换会MSI,在9600波特率下进行收发测试。测试一万条数据,总会有几十条数据帧丢失或者数据帧为乱码

收藏 评论2 发布时间:2025-11-28 16:11

举报

2个回答
xmshao 回答时间:昨天 16:29

不知你唤醒后,是否加上一点延时呢?

做时钟切换后,软件方面可以检查下是否就绪。

当然也不排除其它方面原因,比方波特率方面问题;

发送时,MCU是否做好接收就绪。。。。。。

butterflyspring 回答时间:昨天 17:03
通常唤醒时,需要配置时钟,运行一些代码,这期间占用起始位一定时间,如果这个时间长一点,有可能丢帧。


另外MSI 并不是很准的时钟,用它作为串口的采样时钟工作在异步通讯模式下,是有可能采样错误导致数据为乱码的。
也就是波特率不准。

所属标签

相似问题

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版