1
我有第一次接触串口通讯,我必须通过java与一个带有手动通讯协议的串口设备进行通讯,我想你们帮我理解只有重要的部分:命令部分串口协议通讯
FORMAT : <command><size><data><checksum>
<command> : 1 byte type : CAPITAL LETTER from 'A' to 'Z'
<size> : 1 byte type : char between 0 and 255
<data> : String composed of <size> bytes : Format is depending on the command
<checksum> Calculated as follow : checksum = -(<command> + <size> + [b]E[/b](<data>(i))) modulo 0x100 ([b]E[/b] sum simbol)
Command example : 0x43,0x10,0x87,0x31,0x2E,0x35 (What this means in string format?)
CheckSum calculation :
0x43+0x10+0x87+0x31+0x2E+0x35 = 0x16E (How to sum this ?)
Then calcule it complement : -0x16E = 0xE92
Then : checksum = 0xE92 modulo 0x100 = 0x92
关于 'C' 命令文件说: 命令:< 'C',为0x10,calibrationtype, “XX.XX”, “XX.XX”, “XXXX”,校验> COVAL,CO2val,Hcval 校准类型: b7:1点(用于现场)校准如果设置为1 b6:3点校准:低点1如果设置为1 b5:3点校准:中点2如果设置为1 。 。 。 你知道什么意思是“0x87”吗?因为“0x31,0x2E,0x35”接缝为1.5 C16'0x87'1.5'checksum' – jlemes 2012-08-11 21:50:48
0x87是一个eeprom映射 – jlemes 2012-08-11 22:19:06