107  
查询码:00000318
简单了解modbus的crc16码
作者: 柳鸿啸 于 2022年02月23日 发布在分类 / 人防组 / 人防智能化 下,并于 2022年02月23日 编辑
modbus

        CRC即循环冗余校验码(Cyclic Redundancy Check):是数据通信领域中最常用的一种查错校验码,其特征是信息字段和校验字段的长度可以任意选定。循环冗余检查(CRC)是一种数据传输检错功能,对数据进行多项式计算,并将得到的结果附在帧的后面,接收设备也执行类似的算法,以保证数据传输的正确性和完整性。

       CRC码有多种校验位数,8位,16位,32位等,原理一样。在现场用到的是CRC16。16位CRC码产生规则,先将发送的二进制序列左移16位(即乘以2的16次方),除以一个多项式,最后所得的余数就是CRC码。

       求CRC码采用的是模2运算法则,多项式除法中采用不带错位的减法运算,运算等同于异或运算。

       下面是生成CRC16码代码:




 推荐知识

 历史版本

修改日期 修改人 备注
2022-02-23 09:25:03[当前版本] 柳鸿啸 1.0

 附件

附件类型

PNGPNG

知识分享平台 -V 4.8.7 -wcp