CRC 生成流程:
1 预置一个 16 位寄存器为 0FFFFH(全 1),称之为 CRC 寄存器。
2 把数据帧中的***个字节的 8 位与 CRC 寄存器中的低字节进行异或运算,结果存回 CRC 寄存器。
3 将 CRC 寄存器向右移一位,***高位填 0,***低位移出并检测。
4 如果***低位移出为 0:重复第 3 步(下一次移位);如果***低位移出为 1:将 CRC 寄存器与一个预设固定值(0A001H)进行异或运算。
5 重复第 3 步和第 4 步直到 8 次移位。这样就处理完了一个完整的 8 位。
6 重复第 2 步到第 5 步来处理下一个 8 位,直到所有的字节处理结束。
7 ***终 CRC 寄存器的值就是 CRC 的值。