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

stm32f1 hal库 停止DMA读取,再启动,出问题了

[复制链接]
fengdao 提问时间:2022-3-18 22:06 / 已解决

请教一下使用HAL_UART_DMAStop()或者HAL_UART_AbortReceive(),之后,在启动HAL_UART_Receive_DMA失败,要复位才行,有什么办法吗?

查了下资料,听清除错误标志和IT标志,hal

库怎么读取寄存器数据啊

收藏 评论4 发布时间:2022-3-18 22:06

举报

4个回答
废鱼 最优答案 回答时间:2022-3-19 09:21:36

可以通过.H定义的寄存器进行读取。重新初始化串口就可以解决这个问题。不用复位。

fengdao 回答时间:2022-3-19 15:35:24

废鱼 发表于 2022-3-19 09:21
可以通过.H定义的寄存器进行读取。重新初始化串口就可以解决这个问题。不用复位。
...

MX_USART2_UART_Init吗?

废鱼 回答时间:2022-3-21 09:38:34

fengdao 发表于 2022-3-19 15:35
MX_USART2_UART_Init吗?

是的

xmshao 回答时间:2022-3-21 11:44:49
正常来讲是不用芯片复位的,倒是我们先基于外设重新做个初始化。具体到你这个问题,因为中途停止DMA传输,你要注意是否有UART数据接收进来了
没有提取导致OVR溢出错误没有处理,导致后期DMA没法被正常触发。
关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新和工艺
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版