我在MSP430F5529的datasheet里看到了16位的CRC模块,但是在使用该模块的API指令时,发现需要设置CRC Seed,有的设置为0XFFFF,有的设置为0XBEEF,请问有什么区别,是否跟我要校验的数据有关?我改如何选择CRC Seed?
灰小子:
一般预置为0x0000或0xFFFF
xyz549040622:
#define CRC_SEED0xFFFF// 该位称为预置值,使用人工算法(长除法)时 需要将除数多项式先与该与职位 异或 ,才能得到最后的除数多项式
这个一般就用默认值就好。
Susan Yang:
请您参考
www.ti.com/…/slau398f.pdf
的1.1 Cyclic Redundancy Check (CRC) Module Introduction
种子值仅用于针对各个数据集初始化移位寄存器一次。
您可以使用标准或自定义种子值
也可以参考下 www.cypress.com/…/download
huangyaohui:
回复 Susan Yang:
你好,感谢您的回复
但是我在《Cyclic Redundancy Check (CRC) Module》的1.1节中没有看到关于CRC seed的说明,只是表示了相同数据序列使用同一seed产生相同签名,不同数据序列会产生不同签名
我也了解到CRC SEED一般设为0XFFFF和0x000,这两种之间有什么区别?是根据什么来选择的?
我这里讨论的是16位的CRC-CCITT。
期待您的回应
huangyaohui:
回复 灰小子:
非常感谢您的回答,我想知道这两种之间有些什么区别,是根据什么来选择0xfff和0x000的?
huangyaohui:
回复 灰小子:
感谢您的回答,我有点明白了