首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >哪种算法用于计算校验和?

哪种算法用于计算校验和?
EN

Stack Overflow用户
提问于 2015-12-09 09:52:30
回答 1查看 416关注 0票数 0

我试图破译几个暖通空调控制器之间用于RS485通信的协议。我能够识别单个消息,如您在下面的列表中所看到的。

代码语言:javascript
运行
复制
00020003400012A9
00030103400012A7

00010303400012A7
2001030A400012010104FFFFFFFF7E

00010303400016A3
200103094000160C0C010400441C

000103074100000024A003ED
2001030A4100000024A0030895BA73

0001032A90020030000200310700013000020131070002300002023107060330000203310700043000FF053000FF1F
2001030290004A

00020003400012A9
00030103400012A7

00010302D10227
20010312D140200100002101000022010000230100002F

00020003400012A9
00030103400012A7

00010302D20226
20010302D240C8

00020003400012A9
00030103400012A7

00010302D10227
20010312D140200100002101000022010000230100002F

00020003400012A9
00030103400012A7

00010302D20226
20010302D240C8

00020003400012A9
00030103400012A7

00010302D20226
20010302D240C8

00020003400012A9
00030103400012A7

00010302D20226
20010302D240C8

00020003400012A9
00030103400012A7

00010302D20226
20010302D240C8

每行包含一条完整的十六进制格式的消息。我认为最后一个字节(最后两个十六进制字符)是以前数据的校验和,但这只是我的猜测。

用哪种算法计算这个校验和?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-12-09 13:11:25

我现在发现了算法。它只是总结数据和建立某种2s的补充。下面是一个示例:

代码语言:javascript
运行
复制
data: 0x20010312D14020010000210100002201000023010000

binary sum: 1 1101 0001 (0x1D1)
last byte:    1101 1110 (0xD1)
invert:       0010 1110 (0x2E)
add 1:        0010 1111 (0x2F)
use only last byte of calculated CS

CS: 0x2F
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34175654

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档