OpenEdv-开源电子网

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

串口通信 奇偶校验

[复制链接]

4

主题

10

帖子

0

精华

初级会员

Rank: 2

积分
72
金钱
72
注册时间
2017-7-9
在线时间
18 小时
发表于 2017-7-14 16:06:15 | 显示全部楼层 |阅读模式
在学串口通信的时候发现如果选上奇偶校验传送数据就会出现乱码,这是为什么呢??

2OOAKFI4QW]IM{K5)%G}7K5.png
9_FE8DJG[KRMA(7RSXTZZ2I.png
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

0

主题

26

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
200
金钱
200
注册时间
2017-3-20
在线时间
64 小时
发表于 2017-7-14 22:32:48 | 显示全部楼层
因为你加入了校验位,发送接收字长是9位,所以下一行改为:USART_InitStruc.USART_WordLength = USART_WordLength_9b;
回复 支持 反对

使用道具 举报

1

主题

8

帖子

0

精华

新手上路

积分
26
金钱
26
注册时间
2017-7-5
在线时间
4 小时
发表于 2017-7-14 22:57:25 | 显示全部楼层
正常的通讯协议是起始位加上八位数据位,然后一位停止位,这里你用了奇偶校验位在配置结构体的时候就需要将字长配置为9,还有可以告诉你的是,你配置好了9位,假设你配置的是偶校验,但是你在串口调试的时候,选奇校验还是偶校验其实都是一样的。程序都能正常跑
回复 支持 反对

使用道具 举报

4

主题

10

帖子

0

精华

初级会员

Rank: 2

积分
72
金钱
72
注册时间
2017-7-9
在线时间
18 小时
 楼主| 发表于 2017-7-15 17:53:57 | 显示全部楼层
shenalun 发表于 2017-7-14 22:57
正常的通讯协议是起始位加上八位数据位,然后一位停止位,这里你用了奇偶校验位在配置结构体的时候就需要将 ...

但是XCOM中数据位的选择只有5,6,7,8啊?
回复 支持 反对

使用道具 举报

1

主题

7

帖子

0

精华

新手上路

积分
22
金钱
22
注册时间
2021-1-13
在线时间
5 小时
发表于 2021-1-26 20:32:36 | 显示全部楼层
CandyGX 发表于 2017-7-15 17:53
但是XCOM中数据位的选择只有5,6,7,8啊?

可能8是数据位,9是包括校验位。
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-6-11 21:51

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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