工具/软件: Code Composer Studio
您好,
我有一些与MSP430FR5969的CRC模块相关的问题。 作为参考,我将使用驱动程序库示例代码下的代码示例中提到的名为“crc_ex1_buildSignature”的示例代码。 如果我说错的话,请纠正我。 我以前没有过多的CRC经验。 但我熟悉模块2的技巧。
根据TI的CRC指南,我得出结论,MSP430FR5969上的CRC16模块使用位方法进行CRC计算。 在儿童权利中心的单元中似乎有4个登记册: 儿童权利中心,儿童权利中心,儿童权利中心,儿童权利中心和儿童权利中心。 我正在附加
e2e.ti.com/.../Book1.xlsx
它具有执行指令后示例代码在寄存器中写入/更改的值。 根据在CCS调试程序的文件/或CRC寄存器中看到的观察结果,我有几个问题:
1)我了解必须为CRCINIRES提供初始值,才能使CRC模块开始工作。 但是,该值是生成器多项式G (x)吗? 用户指南说G (x)是在CRC-CCITT多项方程式的帮助下生成的? 它是否在某个时候使用0xBEEF (SEED)?
2)如果CRCDIRB寄存器表示反字节,为什么它在任何时候都不具有CRCDI内容的反字节,就像CRCRCRESR具有CRCINIRES的值一样?
3)由于CRC在末尾附加了位,我的数据在追加CRC后如何不超过16位?
4)我应发送给接收者的最终数据是什么? 我是否应该将CRCINIRES的所有内容发送给接收器,一旦我得到0x7ADB (或),则只发送最后的16位值,即0x5119?
5)最后,接收者将如何提取数据并检查数据是否丢失? 我无法理解接收者需要我提供的所有信息?