C#实现HJ212-2017CRC16效验

本文介绍C#实现HJ212-2017CRC16效验

标准中19页中定义如下:

CRC 校验(Cyclic Redundancy Check)是一种数据传输错误检查方法。本标准采用 ANSI CRC16,
简称 CRC16。
CRC16 码由传输设备计算后加入到数据包中。接收设备重新计算接收数据包的 CRC16 码,并与接
收到的 CRC16 码比较,如果两值不同,则有误。
CRC16 校验字节的生成步骤如下:
1) CRC16 校验寄存器赋值为 0xFFFF;
2) 取被校验串的第一个字节赋值给临时寄存器;
3) 临时寄存器与 CRC16 校验寄存器的高位字节进行“异或”运算,赋值给 CRC16 校验寄存器;
4) 取 CRC16 校验寄存器最后一位赋值给检测寄存器;
5) 把 CRC16 校验寄存器右移一位;

你可能感兴趣的:(C#语言,c#,算法,CRC16效验,HJ212-2017)