计算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个字节的校验和
FF和
14。14.您的完整命令是
04 E4 04 00 FF 14。
 
	
		
			| 长度 | 
			操作码 | 
			讯息来源 | 
			状态 | 
			校验和 | 
		
		
			| 04小时 | 
			4小时 | 
			04小时 | 
			0 0小时 | 
			FF h 14小时 | 
		
	
 
广州领域条码全程为您服务,需要提供解决方案,可联系在线客服!