工具/软件:Code Composer Studio
我一直在阅读 MSP430FR58xx 系列用户指南中有关 CRC-16模块的文档。
我在测试代码中使用两个变量。 一个具有种子、另一个具有测试数据、我需要 CRC。 我还定义了"baseAddress"、它与 CRC 相关函数一同使用。 代码看起来像这样(它在 C++中)
测试代码:
"
uint16_t baseAddress = 0x0150;
uint16_t SEED = 0;
uint16_t data = 123;
CRC_setSeed (baseAddress、seed); //初始化 CRC 模块
CRC_set16BitData (baseAddress、data); //发送输入数据
CRC_set16BitData (baseAddress、SEED); //发送160以移出数据基
uint16_t 结果= CRC_getResult (baseAddress); //将结果存储在变量中
"
我使用 uint16_t sizes、因为函数将其作为参数。
上述代码提供以下结果(以十六进制表示):0A59
当我使用"bitsReversed"函数时、结果为(十六进制):563A
这似乎是以一种非常简单的方式处理职能,但在这一点上,我认识到我一定会做些错误的事情。 我正在寻找能够告诉我什么是错误的人。
顺便说一下:我尝试了反向字节输入、反向字节结果的所有组合、并尝试了是否发送了16 0。 这些组合都没有提供与我在网上表格中能得到的任何结果相匹配的结果。 我使用 https://crccalc.com/ 来检查结果。
提前感谢。