在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 4710|回复: 11

[求助] CRC校验问题

[复制链接]
发表于 2018-7-30 13:38:22 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
现有8个byte的数据,计算CRC结果为0x2976,然后将这个0x2976再一次经过CRC16计算,结果却是一个定值?这有什么理论依据吗?看到代码里是这样写的,写case验证的结果也是正确的,就是不知道啥理论依据
发表于 2018-7-30 15:50:22 | 显示全部楼层
第一个计算模块是对8bytes的数据进行CRC校验,将计算出来的16bit的0x2976,输入进一个CRC16,肯定是出来一个定值啊,因为是对0x2976的CRC16校验
 楼主| 发表于 2018-7-30 15:53:24 | 显示全部楼层
回复 2# robbenhu
前面8byte的数据和后面的0x2976使用的是同一个CRC公式,为什么就是一个定值呢?不懂呀,有啥理论推导吗
 楼主| 发表于 2018-7-30 15:54:42 | 显示全部楼层
数据使用的CRC和0x2976使用的是同一个CRC公式
 楼主| 发表于 2018-7-30 15:55:22 | 显示全部楼层
回复 2# robbenhu
为什么就是一个定值啊,不明白,有啥理论推导吗
发表于 2018-7-30 16:43:40 | 显示全部楼层
回复 4# 新嘴小王安子

那里比对的CRC结果从哪里来?你改变你的数据,看结果还对不对。如果不对,说明你这个检测模块是错误的,只能检测确定的数据。如果对的话,你在仔细看看代码,是不是哪个地方遗漏了。
 楼主| 发表于 2018-7-30 17:14:45 | 显示全部楼层
回复 6# robbenhu
代码是一个成熟的IP,没问题的,我测试过不同的数据,不同的数据CRC的结果不同,但是不同的CRC值再经过CRC公式之后是同一个定值
发表于 2018-8-1 09:48:48 | 显示全部楼层
这不就是crc的原理么  发送端:数据A+CRC = A'   接收端重新计算A'的CRC  如果结果为A证明传输无错误  否则有错。
 楼主| 发表于 2018-8-2 13:52:08 | 显示全部楼层
回复 8# 小科白菜
谢谢,马上找找CRC的这个特性,之前只接触有CRC这个事情,不知道CRC的特性
 楼主| 发表于 2018-8-2 13:54:40 | 显示全部楼层
回复 8# 小科白菜

发送端:数据A+CRC = A'   接收端重新计算A'的CRC  但是A'的CRC是一个定值,不是A,刚才没看仔细
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /2 下一条

小黑屋| 手机版| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-9-22 07:21 , Processed in 0.019764 second(s), 6 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表