计算FCS(CRC 16 CCITT)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了计算FCS(CRC 16 CCITT)相关的知识,希望对你有一定的参考价值。

我有这个框架:

7E 01 FF 53 70 00 3D 7E

地点:

7E - 分隔符标志

01 - 目的地地址

FF - 源地址

53 - 数据

70 - 数据

00 - 数据

3D - 校验和计算为:(BYTE)(0 - (01 + FF + 53 + 70 + 00)

此指示:校验和:1字节校验和定义为0x00 - {[DestinationAddress] + [SourceAddress] + [Body of Message]}

校验和根据CCITT CRC-16计算。

但我从来没有用这个计算器得到这个结果:http://www.zorc.breitbandkatze.de/crc.html

怎么做 ?谢谢

答案

文档中存在错误 - 此处未使用CRC。

为了计算校验和,将有问题的数字转换为十进制并将它们加在一起(01 + 255 + 83 + 112 + 0)= 451.然后取0到451的mod 256来得到校验和字节。

在这种情况下,将是-451%256 = 61 = 3D

以上是关于计算FCS(CRC 16 CCITT)的主要内容,如果未能解决你的问题,请参考以下文章

CRC-CCITT 16 位 Python 手动计算

CRC16算法之三:CRC16-CCITT-MODBUS算法的java实现

求VHDL的查表法计算16位CRC-CCITT 。

CRC16算法之二:CRC16-CCITT-XMODEM算法的java实现

CRC16算法之一:CRC16-CCITT-FALSE算法的java实现

使用 python 计算 CRC 16