斑马Zebra条码扫描器计算SSI命令的校验和

计算SSI命令的校验和

问题/问题
《简单串行接口程序员指南》中如何计算SSI命令的校验和
适用于
斑马Zebra条码扫描器:DS4308,DS457,DS8100,DS3608,DS3678,MS1204,MS954
决议/答案
步骤:

1.在“简单串行接口程序员指南”中获取所需的命令,例如
开始会话


。2.从状态字段描述中获取4位 状态值,例如 0000,代表
位0: 0 –首次传输
位1 : 0 –多数据包消息的最后一个数据包
位2: 0 –始终为0
位3: 0 –临时更改

3.将 0000 转换为1个字节。
在这种情况下,要求加4位成为1个字节,因此在状态位值前加 0000成为 0000 0000。
7 6 5 4 3 2 1个 0
0 0 0 0 0 0 0 0

注意:
1字节= 8位
0000是状态中最常用的4位值。


4.将 0000 0000转换为十六进制值
0000 0000
0 0

您可以参考下表
小数 4位二进制数 十六进制数
0 0000 0
1个 0001 1个
2 0010 2
3 0011 3
4 0100 4
5 0101 5
6 0110 6
7 0111 7
8 1000 8
9 1001 9
10 1010 一种
11 1011
12 1100 C
13 1101 d
14 1110 Ë
15 1111 F


5.现在您获得状态的十六进制值
长度 操作码 讯息来源 状态 校验和
04小时 4小时 04小时 0 0小时


6.使用十六进制计算器求和所有上述十六进制值。
04 + E4 + 04 + 00 = EC7

。将EC转换为二进制
E C
1110 1100

8.将1110 1100转换为2个字节。在这种情况下,需要另外1个字节,所以加0000 0000与前值,成为0000 0000 1110 1100

9.您需要为做2周的补0000 0000 1110 1100 Ť的连线 Ø得到校验。

10.对于第一个补码,将0转换为1,将1转换为

0。0000 0000 1110 1100
变为
1111 1111 0001 0011

11.对于第二个补码,将1补码后的值1111 1111 0001 0011加1 。

1111 1111 0001 0011
+1
_________________________________
1111 1111 0001 0100

12.将1111 1111 0001 0100转换为十六进制值
1111 1111 0001 0100
F F 1 4

13.现在,您将获得2个字节的校验和FF14。14.您的完整命令是04 E4 04 00 FF 14
长度 操作码 讯息来源 状态 校验和
04小时 4小时 04小时 0 0小时 FF h 14小时




广州领域条码全程为您服务,需要提供解决方案,可联系在线客服!