OpenEdv-开源电子网

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

STM32F407的HAL库串口通讯例程有bug

[复制链接]

2

主题

6

帖子

0

精华

新手上路

积分
30
金钱
30
注册时间
2023-8-14
在线时间
6 小时
发表于 2024-11-13 09:42:36 | 显示全部楼层 |阅读模式
1金钱
用正点原子的串口调试工具与探索者的开发板连接,下载HAL库串口通讯程序后,串口调试工具简单的通讯都没有问题,但是如果使用洪水式的发送,1ms一个,单词发送字符逐渐增加,就会造成错误,再也无法通讯
这个错误在寄存器版本中不会出现
简单的做了个测试,当HAL版本翻车后UART对应的CR3寄存器状态从0x00000001变成了0x00000000,CR1寄存器从0x0000202C变成了0x0000200C
本人新接触STM32,对HAL库基本小白,请教高手修复这个bug的方法


正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

11

主题

2103

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
4584
金钱
4584
注册时间
2015-1-10
在线时间
573 小时
发表于 7 天前 | 显示全部楼层
CR1那个是奇偶校验被改了,所以产生了CR3的错误中断,hal的中断函数里面有没有清除错误中断的处理?没有的话就会一直卡在里面
回复

使用道具 举报

2

主题

6

帖子

0

精华

新手上路

积分
30
金钱
30
注册时间
2023-8-14
在线时间
6 小时
 楼主| 发表于 6 天前 | 显示全部楼层
阿侑kevin 发表于 2024-11-15 09:53
CR1那个是奇偶校验被改了,所以产生了CR3的错误中断,hal的中断函数里面有没有清除错误中断的处理?没有的 ...

我查手册,CR1变化的位应该是接收非空中断被关闭了吧,这个与奇偶校验无关
回复

使用道具 举报

11

主题

2103

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
4584
金钱
4584
注册时间
2015-1-10
在线时间
573 小时
发表于 4 天前 | 显示全部楼层
本帖最后由 阿侑kevin 于 2024-11-18 15:27 编辑
xjkswjl 发表于 2024-11-16 19:30
我查手册,CR1变化的位应该是接收非空中断被关闭了吧,这个与奇偶校验无关

不好意思看错了,我看成bit9了,正常配置UASRT接收的话RXNEIE是一直开着的,你看一下程序里面哪里关了,然后看一下挂了的时候SR里面ORE是不是置位了
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2024-11-22 05:06

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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