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,这也是检查正确性的有效方法