STM32及国产华大芯片(F4A0)串口奇偶校验问题记录

本文记录了一位开发者在使用STM32F413和HC32F4A0芯片时遇到的串口通信问题。在设置为波特率115200,8位数据位,偶校验时,STM32F413出现了乱码现象,原因是奇偶校验位包含在8位数据中。而HC32F4A0则将校验位与数据位分开,避免了此问题。解决方案是将STM32F413的数据位改为9位。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

文章背景:前段时间使用公司的老产品(STM32F413芯片)时发现一个bug,串口配置为波特率115200,数据位8位,停止位1位,偶校验时,出产生乱码的现象,但是在新产品(HC32F4A0芯片)上没有这个问题,由于之前都是用的无校验的,所以并没有暴露这个bug,于是决定好好看一看用户手册,结果一看就发现了不一样。

 上图是STM32F413芯片用户手册“28.4.1 USART字符说明”章节中截取的图片,从图中可以看出,在8位字长的情况下,最后一位为“可能的奇偶校验位”,意思就是说STM32F413芯片中奇偶校验位是包含在数据位字长中的,所以在选择了偶校验的情况下会出现乱码,这个时候只要把数据位改为9位即可。

 上图是HC32F4A0芯片用户手册“29.4.1.2 数据格式”章节中截取的图片,从图中可以看出HC32F4A0数据位和校验位是分开的,所以选择奇偶校验不影响数据的正确性。


仅在此写篇文章记录下这个问题,希望能对后续的人有所帮助。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值