/中文/
/中文/
/中文/
/中文/
/中文/
/中文/
/中文/
/中文/
/中文/
/中文/
你还在为如何编辑的计算CRC16校验码而烦恼么, 那就赶紧让CRC16校验码计算器来帮帮你吧! 它是一款非常实用的计算CRC16校验码工具, 能够帮助便捷快速的计算CRC16校验码, 并且操作简单, 使用方便, 对CRC16校验码计算器感兴趣的朋友欢迎下载使用!
本modbus CRC16校验码计算器干什么用?
CRC16校验码是数据通信行业中最常用的一种差错校验码,其特征是信息字段与校验字段的长度可以任何选择。
上位机须根据MODBUS协议的命令格式发送数据(包含计算的CRC值),从机才可以正确辨识数据。若无CRC值,从机把返回含有错误号的应答包,不会得到正确结果。
CRC-16码由两个字节构成,在开始时CRC寄存器的每一位都预置为1,而后把CRC寄存器与8-bit的数据进行异或(异或:二进制运算 相同为0,不同为1;0^0=0;0^1=1;1^0=1;1^1=0),之后对CRC寄存器从高到低进行移位,在最高位(MSB)的位置补零,而最低位(LSB,移位后已经被移出CRC寄存器)如果为1,则把寄存器与预定义的多项式码进行异或,不然如果LSB为零,则不需要进行异或。重复上述的由高至低的移位8次,第一个8-bit数据处理完毕,用这个时候CRC寄存器的值与下一个8-bit数据异或并进行如前一个数据似的8次移位。所有的字符处理完成后CRC寄存器内的值即为最后的CRC值。
而本CRC16校验码计算器的主要功能就是来精准计算CRC16校验码的。
预置1个16位的寄存器为十六进制FFFF(即全为1),称此寄存器为CRC寄存器。
把第一个8位二进制数据(既通讯信息帧的第一个字节)与16位的CRC寄存器的低8位相异或,把结果放于CRC寄存器,高八位数据不变。
把CRC寄存器的内容右移一位(朝低位)用0填补最高位,并检测右移后的移出位。
如果移出位为0:重复第三步(再次右移一位);如果移出位为1,CRC寄存器与多项式A001(1010 0000 0000 0001)进行异或。
重复步骤3与4,直到右移8次,这样整个8位数据全部进行了处理。
重复步骤2到步骤5,进行通讯信息帧下一个字节的处理。
把该通讯信息帧所有字节按上述步骤计算完成后,得到的16位CRC寄存器的高、低字节进行交换。
最后得到的CRC寄存器内容即为:CRC码。