[技术问答] 新塘MCU的CRC中,种子值(seedvalue)是干什么用的?应该设置成?

[复制链接]
4450|10
 楼主| vunese 发表于 2017-11-15 17:16 | 显示全部楼层 |阅读模式
如题,CRC模块有个种子寄存器CRC_SEED,这个值什么作用?应该怎么用
643757107 发表于 2017-11-15 19:23 | 显示全部楼层
该位称为预置值,使用人工算法(长除法)时 需要将除数多项式先与该与职位 异或 ,才能得到最后的除数多项式
643757107 发表于 2017-11-15 19:23 | 显示全部楼层
我看人家都是这么注释的,,不是很懂。
734774645 发表于 2017-11-15 19:43 | 显示全部楼层
#define CRC_SEED   0xFFFF   // 该位称为预置值,使用人工算法(长除法)时 需要将除数多项式先与该与职位 异或 ,才能得到最后的除数多项式
一般这样。
heisexingqisi 发表于 2017-11-15 19:57 | 显示全部楼层
1.设置CRC寄存器,并给其赋值FFFF(hex)。
2.将数据的第一个8-bit字符与16位CRC寄存器的低8位进行异或,并把结果存入CRC寄存器。
3.CRC寄存器向右移一位,MSB补零,移出并检查LSB。
4.如果LSB为0,重复第三步;若LSB为1,CRC寄存器与多项式码相异或。
注意:该步检查LSB应该是右移前的LSB,即第3步前的LSB。
5.重复第3与第4步直到8次移位全部完成。此时一个8-bit数据处理完毕。
6.重复第2至第5步直到所有数据全部处理完成。
7.最终CRC寄存器的内容即为CRC值。
heisexingqisi 发表于 2017-11-15 19:59 | 显示全部楼层
估计就是第一个里面那个,不知道是啥意思,异或是个什么概念,,就是这里跟FFFF异或,那么就是把0变成1,把1变成0.
hotpower 发表于 2017-12-24 20:36 来自手机 | 显示全部楼层
本帖最后由 hotpower 于 2017-12-24 20:41 编辑

http://www.21ic.com/tools/HotPower/HotWC3_V1.23.html
稳稳の幸福 发表于 2017-12-25 17:42 | 显示全部楼层
用楼上的资料做,不懂怎么计算的,看网页源码,里面有 公式。
捉虫天师 发表于 2017-12-28 13:52 | 显示全部楼层
这是CRC协议里的吧
xuanhuanzi 发表于 2017-12-30 13:58 | 显示全部楼层
楼主要做CRC相关的项目啊,不知道这个具体有和意义啊。
wanduzi 发表于 2017-12-31 11:51 | 显示全部楼层
LFSR的初始化值称之为 seeD(形象点就是火种
您需要登录后才可以回帖 登录 | 注册

本版积分规则

3

主题

8

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部