Math 理解校验和算法有困难 BM62蓝牙模块协议
Math 理解校验和算法有困难 BM62蓝牙模块协议,math,binary,checksum,crc,Math,Binary,Checksum,Crc,我只是有一个简单的问题,关于校验和算法如何适用于特定的蓝牙模块(BM62)。上面的图片解释了UART协议,它解释了校验和规则,但我很难理解它是如何工作的,而且似乎无法猜出图中示例中给出的校验和值。这个想法似乎是您需要想出CHKSUM,这样LENH+LENL+OPCODE+PARAM+CHKSUM的最低有效字节中就有0。那么,让我们用8位(或模256)求和: LENH+LENL+OPCODE+PARAM+CHKSUM=0 CHKSUM=-(LENH+LENL+OPCODE+PARAM) 下面,CH
我只是有一个简单的问题,关于校验和算法如何适用于特定的蓝牙模块(BM62)。上面的图片解释了UART协议,它解释了校验和规则,但我很难理解它是如何工作的,而且似乎无法猜出图中示例中给出的校验和值。这个想法似乎是您需要想出
CHKSUM
,这样LENH
+LENL
+OPCODE
+PARAM
+CHKSUM
的最低有效字节中就有0。那么,让我们用8位(或模256)求和:
LENH
+LENL
+OPCODE
+PARAM
+CHKSUM
=0
CHKSUM
=-(LENH
+LENL
+OPCODE
+PARAM
)
下面,CHKSUM
=-(0+2+1+0)=-3=0xFD。(请记住,所有这些都是在8位中完成的)
您可以验证CHKSUM
是否满足要求(您现在用16位完成所有操作):
0+2+1+0+0xFD=0x100
在最低有效字节中有0。如果我们在8位中也这样做,我们将得到0而不是0x100,这也是检查正确性的有效方法