CRC多项式

最近在看Modbus RTU的通讯,在自编和程序中,我看到CRC校验的程序,但我不怎么明白,为什么CRC16的多项式就是0XA001这是基于什么原因呢?

  0XA001是MODBUS的生成多项式,这是一个固定样式

  你可能看到过别的生成多项式,

  比如

  CRC12 80F

  CRC16 8005

  CRC16-CCITT 1021

  CRC32 04C11DB7

  所谓CRC算法是以GF(2)(2元素伽罗瓦域)多项式算术为数学基础的

  那么0XA001就是多项式 X^15+X^13+1

  不同的多项式,起检错能力是不同的 也就是说 0XA001 就是MODBUS规定的一个生成多项式,你只要记住就行了。

posted @ 2013-05-28 14:43  梦幻乐园  阅读(1516)  评论(0编辑  收藏  举报