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规定的一个生成多项式,你只要记住就行了。
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步