打印
[技术问答]

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

[复制链接]
3888|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   // 该位称为预置值,使用人工算法(长除法)时 需要将除数多项式先与该与职位 异或 ,才能得到最后的除数多项式
一般这样。

使用特权

评论回复
5
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值。

使用特权

评论回复
6
heisexingqisi| | 2017-11-15 19:59 | 只看该作者
估计就是第一个里面那个,不知道是啥意思,异或是个什么概念,,就是这里跟FFFF异或,那么就是把0变成1,把1变成0.

使用特权

评论回复
7
hotpower| | 2017-12-24 20:36 | 只看该作者
本帖最后由 hotpower 于 2017-12-24 20:41 编辑

http://www.21ic.com/tools/HotPower/HotWC3_V1.23.html

使用特权

评论回复
8
稳稳の幸福| | 2017-12-25 17:42 | 只看该作者
用楼上的资料做,不懂怎么计算的,看网页源码,里面有 公式。

使用特权

评论回复
9
捉虫天师| | 2017-12-28 13:52 | 只看该作者
这是CRC协议里的吧

使用特权

评论回复
10
xuanhuanzi| | 2017-12-30 13:58 | 只看该作者
楼主要做CRC相关的项目啊,不知道这个具体有和意义啊。

使用特权

评论回复
11
wanduzi| | 2017-12-31 11:51 | 只看该作者
LFSR的初始化值称之为 seeD(形象点就是火种

使用特权

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

本版积分规则

3

主题

8

帖子

0

粉丝