串口通信的校验---奇偶校验,0校验,1校验

 我来答
科创17
2022-06-05 · TA获得超过5861个赞
知道小有建树答主
回答量:2846
采纳率:100%
帮助的人:168万
展开全部
设置为奇校验,先看发送方将要发送的一帧数据中有几个1,如果是偶数个1则校验位置1,保证1的个数是奇数。如果是奇数就置0。保证是奇数后发送给接收方,接受方此时要检查发送的数据位是否有误,它检查的方法就是看接受的数据里1的个数,如果发现1的个数是偶数,再看看发送来的校验位是1且模式是奇校验,偶数+1=奇数,判断数据是正确。

例:发送的数据位是01111 0000 ,使校验位置1,让1 有5个(奇数)。
发送到接受方,接受方检查数据位正确性,发现1有4个(偶数),再看校验位是1,4+1=5(奇数)。判断数据正确

设置为偶校验,先看发送方将要发送的一帧数据中有几个1,如果是奇数个1则校验位置1,如果是偶数就置0。保证1的个数是偶数。保证是偶数后发送给接收方,接受方此时要检查发送的数据位是否有误,它检查的方法就是看接受的数据里1的个数,如果发现1的个数是奇数,再看看发送来的校验位是1且模式是偶校验,奇数+1=偶数,判断数据是正确。

例:发送的数据位是01111 1000 ,使校验位置1,让1 有6个(偶数)。
发送到接受方,接受方检查数据位正确性,发现1有5个(奇数),再看校验位是1,5+1=6(偶数)。判断数据正确

设置为1校验,校验位始终为1,接收方接收到数据发现检验位为1就判断数据正确,这种方法简陋。

设置为0校验,校验位始终为0,接收方接收到数据发现检验位为0就判断数据正确,这种方法简陋。

小结:通常用奇偶校验,本质就是判断数据位中1个数+校验位 = 奇数/偶数的方法。
也存在弊端比如用奇校验发送的是0111 0001 ,校验位是1。但到接收方变成1110 0001 ,接受也判断正确,但数据并不相同。
做而论道
高能答主

2023-03-01 · 把复杂的事情简单说给你听
知道大有可为答主
回答量:3万
采纳率:80%
帮助的人:1.1亿
展开全部
你编程时,只需保证通信双方“校验方法相同”即可。
至于“各种校验形式与细节”,都是由硬件自动完成了。 你知道不知道,都没有什么关系。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式