异或校验工作方式

校验位为8位数据,其是对其前面的命令字和数据进行异或校验。命令字是F3E2(16进制),数据是42 3A,异或校验的工作过程如下:

1:将命令字和数据组合起来:结果为F3 E2 42 3A(8位数据依次写开)
2:从第一个8位数据开始,将其与第二个8位进行异或操作,取得结果。即示例中F3与E2进行异或操作,计算过程如下:
                     1111 0011(F3)
XOR   1110 0010 (E2)
结果: 0001 0001 (11)
3:将上次计算结果,与第三个8位数据进行异或操作,再次取得结果。即示例中11与42进行异或操作,计算过程如下:
            0001 0001 (11)
   XOR 0100 0010 (42)
结果: 0101 0011(53)
3:再将上次计算结果,与其后的数据依次进行异或操作,最后就可以得到正确的异或校验结果啦。示例中53与最后一个8位数据3A进行异或操作,计算过程如下:
            0101 0011(53)
XOR    0011 1010 (3A)
结果: 0110 1001 (69)

1:将命令字和数据组合起来:结果为F3 E2 42 3A(8位数据依次写开)
2:从第一个8位数据开始,将其与第二个8位进行异或操作,取得结果。即示例中F3与E2进行异或操作,计算过程如下:
                     1111 0011(F3)
XOR   1110 0010 (E2)
结果: 0001 0001 (11)
3:将上次计算结果,与第三个8位数据进行异或操作,再次取得结果。即示例中11与42进行异或操作,计算过程如下:
            0001 0001 (11)
   XOR 0100 0010 (42)
结果: 0101 0011(53)
3:再将上次计算结果,与其后的数据依次进行异或操作,最后就可以得到正确的异或校验结果啦。示例中53与最后一个8位数据3A进行异或操作,计算过程如下:
            0101 0011(53)
XOR    0011 1010 (3A)
结果: 0110 1001 (69)

4,由以上分析可知,紧接在命令字和数据字后面的异或校验字应为69.


若经过接收方经过异或校验计算出的数据与校验字是相同的,那么此次传送的数据就是有效;反之,接收方计算出的校验字 和 发送方发送过来的校验字是不同的,那本次传送就是错误。
  • 5
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值