当前位置: 代码迷 >> WinCE >> 串口数据校验码有关问题
  详细解决方案

串口数据校验码有关问题

热度:157   发布时间:2016-04-28 12:02:41.0
串口数据校验码问题
最近在做一个项目,设备发送的串口指令如下:
7E C1 02 03 55 C0 01 04 C3 01 09 A8 30 7E  
7E C1 02 03 56 C0 01 04 C3 01 09 C6 98 7E 
7E C1 02 03 57 C0 01 04 C3 01 09 13 07 7E  
 7E C1 02 03 58 C0 01 04 C3 01 09 E7 1E 7E  
 7E C1 02 03 59 C0 01 04 C3 01 09 32 81 7E  
7E C1 02 03 5A C0 01 04 C3 01 09 5C 29 7E 
7E C1 02 03 5B C0 01 04 C3 01 09 89 B6 7E  
7E C1 02 03 5C C0 01 04 C3 01 09 91 71 7E 
7E C1 02 03 5D C0 01 04 C3 01 09 44 EE 7E
当前可推断后两个位为校验位(即红色字体)。现在想知道该数据是如何校验的。试过了crc的所有校验方式都得不到校验位的数据。恳请哪位大牛帮忙解决下,我已经整了将近一个周了,实在没有办法了。。。求帮助,求解答。。在线等。。解决后马上给分。

------解决方案--------------------
“7E C1 02 03 55 C0 01 04 C3 01 09 A8 30 7E”
典型的HDLC曼彻斯特编码格式。7E是帧头帧尾和无数据时发送的中间符,后两个校验位(红色字体)是CCITT CRC校验。不要把7E计算在内。参照CRC-16-CCITT 多项式: 0x1021 即:X^12 + X^5 + 1
------解决方案--------------------
引用:
“7E C1 02 03 55 C0 01 04 C3 01 09 A8 30 7E”
典型的HDLC曼彻斯特编码格式。7E是帧头帧尾和无数据时发送的中间符,后两个校验位(红色字体)是CCITT CRC校验。不要把7E计算在内。参照CRC-16-CCITT 多项式: 0x1021 即:X^12 + X^5 + 1



http://www.lammertbies.nl/comm/info/crc-calculation.html

在这个网站测试了一下 貌似也不是呢 
  相关解决方案