请大家帮我分析下,这个串口通信是用什么方法校验的啊
串口监控到的数据如下
//只差1位的命令串对比
23 7B 53 52 41 31 31 33 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 32 34 31 31 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 3B 3E 0D 
//*******2411
 
 
23 7D 53 52 41 31 31 33 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 32 34 31 32 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 3C 31 0D 
//*******2412
 
23 7B 53 52 41 31 31 33 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 32 34 31 33 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 3C 30 0D
//*******2413
 
23 7B 53 52 41 31 31 33 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 32 34 31 34 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 3C 31 0D 
//**********2414
 
23 7B 53 52 41 31 31 33 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 32 34 31 35 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 3C 32 0D 
//********2415
 
23 7B 53 52 41 31 31 33 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 32 34 31 36 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 3C 33 0D 
//********2416我看起像是CRC16,但去计算时好像不对,请大家帮我分析一下,命令中修改一位数据,倒数第2,3位就会变化,即用2个BYTE在校验.

解决方案 »

  1.   

    他用的是ascii码送的数据吧
    看起来有点象modbus ascii 一样,会不会用的是LRC
      

  2.   

    #{SRA1130000000000000000000000002411000000000000000000000000;>
    #}SRA1130000000000000000000000002412000000000000000000000000<1
    #{SRA1130000000000000000000000002413000000000000000000000000<0
    #{SRA1130000000000000000000000002414000000000000000000000000<1
    #{SRA1130000000000000000000000002415000000000000000000000000<2
    #{SRA1130000000000000000000000002416000000000000000000000000<3
      

  3.   

    3C 31 0D 
    3B 3E 0D 
    3C 30 0D 
    这三组都是校验的结果