crc 校验 举一个实例
时间: 2023-10-02 13:11:13 浏览: 80
基础例程-CRC校验测试.rar_balanceyy8_crc_stm32 crc
假设我们要发送一个二进制数据包:10110110,我们希望使用 CRC 校验来确保数据的完整性。我们选择一个生成多项式(generator polynomial)为 G(x) = x^3 + x + 1。这意味着我们要在数据末尾添加3个0来进行CRC计算。
首先,将生成多项式左移3位,变为 x^6 + x^4 + x^3,然后将数据末尾添加3个0,得到10110110000。接下来,我们计算出一个长度为 6 的除数,也就是生成多项式左移3位后的结果。
对于第一个除数,我们将 1011 与该除数进行异或操作,得到结果 0011。接着将该结果左移一位,再与剩下的数据进行异或操作,得到结果 1011。重复该过程,直到所有数据都被处理完毕,最后得到的余数为 100。
将该余数添加到原始数据末尾,得到最终的数据包为 10110110100,这个数据包就是带有 CRC 校验的数据。在接收端,我们可以使用相同的生成多项式和相同的方法来计算出 CRC 值,如果得到的余数不为 0,则说明数据发生了错误。
阅读全文