无法理解校验和算法

问题描述 投票:0回答:1

Protocol for BM62 Bluetooth Module

我只是有一个关于Checksum算法如何适用于特定蓝牙模块(BM62)的简单问题。上面的图片解释了UART协议,它解释了校验和规则,但我无法理解它是如何工作的,并且似乎无法猜测校验和值,因为它在图片中的示例中给出。

math binary checksum crc
1个回答
1
投票

这个想法似乎是你需要提出CHKSUM,使LENH + LENL + OPCODE + PARAM + CHKSUM在最低有效字节中有0。那么,让我们以8位(或模256)进行求和:

LENH LENL + + + OPCODE PARAM CHKSUM + 0 =

CHKSUM = - (LENH LENL + + + OPCODE PARAM

IOW,CHKSUM = - (0 + 2 + 1 + 0)= -3 = 0xFD。 (请记住,所有这些都是以8位完成的)。

您可以验证CHKSUM是否满足要求(您现在以16位执行所有操作):

0 + 2 + 1 + 0 + 0xFD = 0x100

并且在最低有效字节中为0。如果我们也以8位执行此操作,我们将得到0而不是0x100,这也是检查正确性的有效方法。

© www.soinside.com 2019 - 2024. All rights reserved.