SmartSnippets 烧写蓝牙地址最后一位的校验码是怎么算的

3 posts / 0 new
Last post
wuhanpin
Offline
Last seen: 2 years 10 months ago
Joined: 2015-07-20 08:21
SmartSnippets 烧写蓝牙地址最后一位的校验码是怎么算的

Hi, Dailog
我现在写了一个bat脚本来实现DA14583的生产。蓝牙地址由我们随机生成,但遇到问题是,你们的蓝牙最后一位是不是个校验位,我们不知道你的校验算法,所以无法完成Flash头文件的导入。能否告诉我,你们的校验算法。

1 :020000040001F9
2 :02F0000070524C
3 :02F00200FFFF0E
4 :04F0040000100000F8
5 :04F008000000000004
6 :06F00C0001129271EA80C9(次处的C9是个校验码吧,是怎么算出来的。)
7 :02F01200FFFFFE
8 :04F01400FFFFFFFFFC
9 :02F01800FFFFF8
10 :02F01A00FFFFF6
11 :04F01C0000000000F0
12 :06F0200062630000000025
13 :04F0260000000000E6
14 :00000001FF

Device: 
wuhanpin
Offline
Last seen: 2 years 10 months ago
Joined: 2015-07-20 08:21
Hi, 能不能先请你看清楚我提的问题?

Hi,
能不能先请你看清楚我提的问题?

Qinjiny_Dialog
Offline
Last seen: 3 months 2 weeks ago
Staff
Joined: 2016-11-01 05:47
抱歉,不小心把另一个帖子回复到你这里了,

抱歉,不小心把另一个帖子回复到你这里了,

每一行的最后都是校验位,用的是Checksum算法,

如你所说第六行的末位应该是7E。

这个网站可以快速验证当前行的Checksum http://easyonlineconverter.com/converters/checksum_converter.html

checksum是当前行所有byte和的十六进制补数

例如第一行为0x100 - (0x02 + 0x04 + 0x01) = 0xF9

第二行为0x200 - (0x02 + 0xF0 + 0x70 + 0x52) = 0x200 - 1B4 = 4C