STM32
登录
直播中
王波
7年用户
1380经验值
私信
关注
[问答]
H750 UART 7数据位 + 校验接收数据异常的原因?如何解决?
开启该帖子的消息推送
H750 UART 7数据位 + 校验接收数据异常的原因?如何解决?
回帖
(1)
杨颜
2021-12-6 10:01:59
如何配置
首先是设置寄存器,按正常设置走就可以,唯一需要注意的地方是串口CR1寄存器的字长设置:
根据帧格式表可以看到,9位数据和8位数据+1位校验所设的M位值相同
所以在CR1寄存器中字长位寄存器的描述,这里所写的数据位其实是指我们平时所说的数据位+校验位
,
即:
N / 7 / 1:7个数据位,M = 10
ODD / 7 / 1:8个数据位,M = 00
N / 8 / 1: 8个数据位,M = 00
…
现在的代码是串口ODD / 7 / 1, 接收数据,然后发往网络端。
字长寄存器、校验相关的寄存器都设置完成后,串口发送0x31 0x32 0x33,网络端实际收到的是 0x31 0x32 0xB3:
这就很奇怪了,按道理来说,7数据位下不应该存在大于0x7F的数据。
一开始怀疑是串口工具的问题,拿逻辑分析仪抓了下串口的TTL端,数据是正确的。
但也非常容易发现,发生错误的数据0x33,因为奇校验的关系,校验位为1,而10110011刚好为0xB3,所以猜测是单片机将校验位的bit当成了8位数据位里的最高位处理了。
改成偶校验验证猜想:
直接在逻辑分析仪上改为N/8/1解析,完全正确:
因此基本可以验证猜想:
单片机在7数据位+校验位的设置下,将校验位当做8位数据位里的最高位给处理了,校验位为1时就会导致数据错误。
如果直接将字长寄存器改为7,同时又设置校验的话,数据会乱,这里就不截图了。
最后处理方式也很简单,串口收到的
每个字节的数据&=0x7F
即可。
如何配置
首先是设置寄存器,按正常设置走就可以,唯一需要注意的地方是串口CR1寄存器的字长设置:
根据帧格式表可以看到,9位数据和8位数据+1位校验所设的M位值相同
所以在CR1寄存器中字长位寄存器的描述,这里所写的数据位其实是指我们平时所说的数据位+校验位
,
即:
N / 7 / 1:7个数据位,M = 10
ODD / 7 / 1:8个数据位,M = 00
N / 8 / 1: 8个数据位,M = 00
…
现在的代码是串口ODD / 7 / 1, 接收数据,然后发往网络端。
字长寄存器、校验相关的寄存器都设置完成后,串口发送0x31 0x32 0x33,网络端实际收到的是 0x31 0x32 0xB3:
这就很奇怪了,按道理来说,7数据位下不应该存在大于0x7F的数据。
一开始怀疑是串口工具的问题,拿逻辑分析仪抓了下串口的TTL端,数据是正确的。
但也非常容易发现,发生错误的数据0x33,因为奇校验的关系,校验位为1,而10110011刚好为0xB3,所以猜测是单片机将校验位的bit当成了8位数据位里的最高位处理了。
改成偶校验验证猜想:
直接在逻辑分析仪上改为N/8/1解析,完全正确:
因此基本可以验证猜想:
单片机在7数据位+校验位的设置下,将校验位当做8位数据位里的最高位给处理了,校验位为1时就会导致数据错误。
如果直接将字长寄存器改为7,同时又设置校验的话,数据会乱,这里就不截图了。
最后处理方式也很简单,串口收到的
每个字节的数据&=0x7F
即可。
举报
更多回帖
rotate(-90deg);
回复
相关问答
如何使用DMA和中断去实现
H750
串口功能呢
2021-12-01
2170
STM32发生
UART
数据
最高位变成
校验位
出错的
原因
?
2021-12-10
1074
使用RT-Thread Studio的network sample发送
H750
数据
报错是为什么
2022-04-25
1534
求解stm32
h750
串口dma法
接收
数据
2022-07-18
2908
STM32串口如何实现
7
位数据位
?
2021-12-06
3492
STM32实现
7
位数据位
支持需要满足什么要求?
2021-12-03
1162
STM32F4物理串口
UART7
bit
校验位
停止位
数据
设置问题怎么解决?
2021-12-03
1104
串口通信
接收
数据
错误
2013-04-15
5691
测试
h750
板子的485串口收发功能遇到的问题记录
2022-02-18
1130
STM32F103在使用串口进行
接收
发送
数据
的时候,发送的
数据
和
接收
到的
数据
不同是什么
原因
造成的?
2024-03-13
91
发帖
登录/注册
20万+
工程师都在用,
免费
PCB检查工具
无需安装、支持浏览器和手机在线查看、实时共享
查看
点击登录
登录更多精彩功能!
英国威廉希尔公司网站
william hill官网 版块
小组
免费开发板试用
ebook
直播
搜索
登录
×
20
完善资料,
赚取积分