CRC的原理:不准确的说就是用数据包除以CRC多项式。 数据包不用说了,CRC多项式是什么呢?CRC多项式就是一个8bit的数,要求最高位是1,因此CRC16的CRC多项式就是16bit,CRC32的CRC多项式就是32bit。 那么怎么除呢?就是把数据包和CRC多项式按位异或,一直异或到最后一位,最后结果就是CRC的值。 废话不多讲,举一个例子看看: CRC多项式取0x85,即1000 0101 数据包取byte型的数组,这里取三字节。{0x11,0x22,0x33} 运算步骤如下: 最后的结果就是0100 0001即0x41。 |
|
来自: goodwangLib > 《COM通信》