打印
[技术支持]

通信中常用CRC8、CRC16、C32校验数据

[复制链接]
57|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
地瓜patch|  楼主 | 2025-5-23 16:42 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
数据通信中常用CRC8、CRC16、C32三种校验
三种都用过,但是不是很清楚什么情况下用CRC8,什么情况用CRC32
与校验的数据长度又关系么?数据量越大,用crc32.数据量小用crc8

使用特权

评论回复
沙发
dukedz| | 2025-5-23 19:00 | 只看该作者
用crc8, 碰撞的概率 1/256
用crc16, 碰撞的概率 1/65536
用crc32, 碰撞的概率 1/0x100000000

碰撞就是错误的数据被误认为正确的概率

用 crc8 碰撞概率太高,用 crc32 又会增加协议开销和计算速度(没有多余硬件crc 的时候)

所以 256 字节的数据包通常用 crc16, 譬如串口通讯的 modbus、cdbus

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1562

主题

14065

帖子

28

粉丝