异或校验工作方式

校验位为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)


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


若经过接收方经过异或校验计算出的数据与校验字是相同的,那么此次传送的数据就是有效;反之,接收方计算出的校验字 和 发送方发送过来的校验字是不同的,那本次传送就是错误。