16进制(CRC16)(多项式异或,多种)校验(1),循环冗余校验在线计算器
字节数(10进制)
字节数(16进制)
校验结果(16进制)
 
 
 
 
通讯模式
输入数据
多项式(HEX)
初始值(HEX)
结果异或值(HEX)
输入值翻转(REFIN)
输出值翻转(REFOUT)
输出字节反序(ORDER)

CTRL+A :选中全部,CTRL+C:复制,CTRL+V:粘贴。 使用必读本站支持微信扫码登录了除了计算器还有这些功能可用

分类: 校验计算 标签:16进制CRC多项式异或校验循环冗余 工具ID:232 阅读:14895 收藏

本工具用于快速求出通信中CRC16校验值,包括:

1)CRC16/CCITT(即:KERMIT)(别名:CRC-16/CCITT, CRC-16/CCITT-TRUE, CRC-CCITT)、

2)CRC16/CCITT-FALSE、

3)CRC16/XMODEM(别名:ZMODEM, CRC-16/ACORN)、

4)CRC16/X25(别名:CRC-16/IBM-SDLC, CRC-16/ISO-HDLC, CRC-B)、

5)CRC16/AUG-CCITT(别名:CRC-16/SPI-FUJITSU)、

6)CRC16/MODBUS、

7)CRC16/IBM(即:KERMIT)(别名:CRC-16, CRC-IBM, CRC-16/ARC, CRC-16/LHA)、

8)CRC16/MAXIM、

9)CRC16/USB、

10)CRC16/DNP等标准通讯模式的计算结果。在输入框输入十六进制数据包(每两个字符表示一个字节,字符数必须是偶数),每个字节之间可以用空格隔开,也可以不隔开。也可输入ASCII格式数据,点击“计算”后,本计算器可求出输入数据包的长度(10进制和16进制)和对应通讯方式的计算结果。

注:本软件计算结果已调整输出结果两个字节的顺序左侧字节为数据包前字节右侧为数据包后字节

例如:CRC16-MODBUS  通讯中主机发送03指令如下:01 03 00 12 00 10 E4 03红色为计算校验数据包,蓝色为校验结果

注意:CRC16-MODBUS  通讯中校验字节格式为LSB-MSB,即低字节在前,高字节在后。

本软件支持CRC16算定义通讯模式的参数。在自定义模式下,需要输入的参数(顺序与面参数栏显示相同)如下:

1)多项式(POLY):生成项的简写,用16进制表示。例如:1021(注意,不加"0x")。

2)初始值(INIT):计算开始时CRC寄存器的初始值,用16进制表示。 例如:0000(注意,不加"0x")。

3)结果异或值(XOROUT):计算结果与此参数异或后得到最终的CRC值,用16进制表示。例如:FFFF(注意,不加"0x")。

4)输入值反转(REFIN):待测数据的每个字节是否按位反转,反转对应true,不反转对应false。 

5)输出值反转(REFOUT):在计算后之后,异或输出之前,整个数据是否按位反转,反转对应true,不反转对应false。

6)输出字节反序(ORDER):CRC输出结果由两个字节组成,本软件认为高字节在前为正序,对应值为false,低字节在前为反序,对应值为true(注意:如果验证结果顺序不对,请自行更换高字节和低字节的顺序!!!!)。  

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

算法名称 多项式 初始值 结果异或 输入反转 输出反转 输出字节反序
CRC-16/CCITT 1021 0000 0000 true true true
CRC-16/CCITT-FALSE 1021 FFFF 0000 false false false
CRC-16/XMODEM 1021 0000 0000 false false false
CRC-16/X25 1021 FFFF FFFF true true true
CRC-16/AUG-CCITT 1021 1D0F 0000 false false false
CRC-16/MODBUS 8005 FFFF 0000 true true true
CRC-16/IBM 8005 0000 0000 true true true
CRC-16/MAXIM 8005 0000 FFFF true true true
CRC-16/USB 8005 FFFF FFFF true true true
CRC-16/DNP 3D65 0000 FFFF true true true

多项式产生: 如x16+x12+x5+1 x16表示第16位为1,x5表示第5位为1 (1 << 16) | (1 << 12) | (1 << 5) | (1) = 0x11021,但是CRC16只取低16位,写成16进制数就是 0x1021。

CRC16的算法原理:

1.根据CRC16的标准选择初值CRCIn的值。

2.将数据的第一个字节与CRCIn高8位异或。

3.判断最高位,若该位为 0 左移一位,若为 1 左移一位再与多项式Hex码异或。

4.重复3直至8位全部移位计算结束。

5.重复将所有输入数据操作完成以上步骤,所得16位数即16位CRC校验码。

相关计算器:

1)16进制加法,减法,乘法,除法在线计算器

2)文本文字(自动换行,分行)在线处理工具

3)文本文字(字数,字符数,字节数)统计在线计算器

4)16进制(CRC16)(CCITT/XMODEM)校验码在线计算器

5)16进制(CRC16)(MODBUS RTU通讯)校验码在线计算器

6)16进制(CRC16)(累加和),ASCII码校验和在线计算器

7)16进制(CRC16)(多项式异或,多种)校验(1),循环冗余校验在线计算器

8)16进制(CRC16)(多项式异或,多种)校验(2),循环冗余校验在线计算器

 


对此计算器不满意或未找到合适的计算器?本网站免费订制专用计算器…… 报错/建议 讨论专区

相关推荐