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

串口DMA收发出现ORE错误

[复制链接]
龙龙龙ww 提问时间:2026-2-2 11:31 / 未解决

芯片:STM32L496

库:HAL库

问题描述:在使用HAL库时发现串口在进行DMA发送数据的同时接收DMA数据,有时候会出现串口ORE错误。

通过查阅手册和网上相关问题的资料,发现是DMA发送和接收的HAL库函数都会给DMA上锁(都会调用HAL_DMA_Start_IT 这里边会有__HAL_LOCK(hdma))。然后当出现ORE错误的时候这个锁就无法解开了,然后接收的数据会出现接收到0并且不再向接收数组后边插入值而是往前面插入值。

我发现当我在检测这个到这个错误手动将DMA的Lock和State恢复,就可以避免此问题,串口DMA恢复正常接收数据。

我这样做是对的嘛?为什么这里使用HAL库会给DMA上锁,这不就相当于全双工变为了半双工。

收藏 评论0 发布时间:2026-2-2 11:31

举报

0个回答

所属标签

相似问题

官网相关资源

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