数据是通过串口和一个设备通讯的,各位帮忙看看其中需要校验吗?我需要自己发一些数据下面是通过串口监测到的数据发送的
Length: 0037, Data: 9E 01 65 7D 1A 25 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 C1 9D
Length: 0037, Data: 9E 01 65 7D 35 25 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 DC 9D 接收的
Length: 0037, Data: 8E 01 65 7D 35 25 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 CC 01 9D 
Length: 0037, Data: 8E 01 65 7D 35 25 DD 15 2C 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 E9 02 9D 
Length: 0037, Data: 8E 01 65 7D 35 25 DB E7 5C 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 E9 03 9D 
Length: 0037, Data: 8E 01 65 7D 1A 25 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 B1 01 9D 

解决方案 »

  1.   

    安装你的数据及你的分析结果来看:
    1、该协议具有指定的数据帧格式(即指定的报文头和报文尾)以及采用的是SUM的校验方式;
    2、猜测结果如下:
       发送时==>报文头部(4Byte)(9E 01 65 7D) + 设备地址(1Byte)(1A) + 报文长度(1Byte)(25) + 报文数据(28Byte)(...) + 校验结果(2Byte)(01 C1) + 报文尾部(9D)
       接收时==>报文头部(4Byte)(8E 01 65 7D) + 设备地址(1Byte)(1A) + 报文长度(1Byte)(25) + 报文数据(28Byte)(...) + 校验结果(2Byte)(B1 01) + 报文尾部(9D)
    --以上结果纯属猜测,如有雷同纯属巧合--