找回密码
 立即注册
查看: 710|回复: 2

单片机串口奇偶校验位怎么使用

[复制链接]
  • 打卡等级:初来乍到
  • 打卡总天数:1
  • 最近打卡:2023-12-25 15:38:27

39

主题

204

回帖

651

积分

高级会员

积分
651
发表于 2023-6-8 20:20:27 | 显示全部楼层 |阅读模式
给位大佬,小弟现在手头上有两块单片机板A和B,想使用A板发送一个数据比如0xFF给B板,请教一下,通过奇偶校验位怎么确定B板有没有收到A板发送过来的数据0xFF,奇偶校验位的使用方法和逻辑是什么,谢谢!
回复

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:328
  • 最近打卡:2025-03-09 19:40:01

9

主题

328

回帖

4501

积分

荣誉版主

积分
4501
发表于 2023-6-8 21:51:36 | 显示全部楼层
奇/偶校验是用于检测数据传输是否出错的一种方法。对于奇校验而言,它总是保证发送的数据中1的个数为奇数。例如发送0xFF,转换为二级制可知有8(偶数)个1,因此校验位会变为1以使整个数据的1的个数为9(奇数)。而偶校验则保证1的个数为偶数,此例中校验位将是0。如果接收方发现数据奇偶不正确,则认为传输出错,应该丢弃这一份数据。

Screenshot 2023-06-08 214408.png Screenshot 2023-06-08 214418.png

回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看III
  • 打卡总天数:51
  • 最近打卡:2025-05-02 10:07:51

73

主题

5883

回帖

1万

积分

超级版主

积分
12079
发表于 2023-6-8 22:38:24 | 显示全部楼层
奇偶校验位是对一个字节里的1的个数进行校验,接收方收到数据按相同的规则校验,就可以知道接收的数据正误,是最初级的校验,但对于一些错误不能检测,比如接收到0x01和0x02奇偶校验结果一样,不能区别。
至于A发给B,A怎么知道B收到了?得用应答机制,B要告诉A,这样就需要协议了。
所以,有通信的,协议先行,先定好协议。
校验推荐最好使用CRC16校验。
回复 支持 反对

使用道具 举报 送花

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

本版积分规则

QQ|手机版|小黑屋|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

GMT+8, 2025-5-3 00:41 , Processed in 0.191226 second(s), 63 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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