请问“2's complement sum of message contents excluding checksum。”的意思是不是“校验和为信息内容(不包含校验和)的二进制补码的和”?也就说我的发送内容如果
为:“0X04,0XEB,0X04,0X01,校验位”,那么校验位是不是为0XF4?  报文格式要求校验位为2为,那么我的整个报文是不是就是“0X04,0XEB,0X04,0X01,0X00,0XF4”?请指教,谢谢

解决方案 »

  1.   

    校验和一般是:_sum = 2^n - (sum(data) & (2^n-1))
    接收方校验   ((sum(data) + _sum) & (2^n-1)) 结果为0即校验正确
      

  2.   

    http://www.vckbase.com/document/viewdoc/?id=1305
      

  3.   

    zgl7903:能不能就我举得这个例子给出个结果?另外你公式里的2^n 中N怎么取值?谢谢
      

  4.   

    chunyou128:这篇文章和我的需求有关系吗?我感觉没太大关系啊,文档上说校验码是“2's complement sum of message contents excluding checksum”,我想知道这句话的意思是不是“校验和为信息内容(不包含校验和)的二进制补码的和”,以及怎么算这个校验码
      

  5.   

    N 就是校验码的位数, 一个字节8位
    0x100 - ((0X04 + 0XEB + 0X04 + 0X01 + 0X00) & 0xFF) = 0x0C
      

  6.   

    你们都理解错了。楼主是想设置扫描头的,对吧:http://hi.baidu.com/liguohei/item/ff2b620744d478016d90484d#6c55d81361e9aa01e75c362c
      

  7.   

    http://hi.baidu.com/liguohei/item/ff2b620744d478016d90484d#6c55d81361e9aa01e75c362c