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

时间:2015-12-09 09:52:31

标签: protocols checksum serial-communication

我正在尝试破译用于多个HVAC控制器之间的RS485通信的协议。我能够识别单个消息,如下面的列表所示。

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

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

使用哪种算法计算此校验和?

1 个答案:

答案 0 :(得分:0)

我现在发现了算法。它只汇总数据并构建某种2s补码。这是一个例子:

handleTilepress: function(oEvent) {
            var selectedPage = oEvent.getSource().getBindingContext("tiles").getProperty("id-tile");
            var oRouter = sap.ui.core.UIComponent.getRouterFor(this);
            oRouter.navTo(selectedPage);
}