This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
您好!
我想知道使用 VCU0的 getCRC16P2_VCU 的 controlSUITE 实现使用的 CRC16协议是什么。 我尝试计算校验值、但它与我在线找到的任何协议都不匹配。 更具体地说 ,我想使用此协议的 VCU 指令。 是否可以使用 VCU 指令执行此操作?
谢谢。
这是我用于测试实现(在 TI 上)的代码:
uint16_t 输入[]={0x0102、0x0304、0x0506、0x0708、0x0900}; uint16_t const CRCvcuef = getCRC16P2_VCU (0、输入、CRC_奇 偶校验、10);//来自 controlSUITE
我很确定我只是忘记了某个东西(可能是未定义的行为?)、尤其是现在我已经在使用它了。 我完全困惑。 我已将上述 automationwiki 链接中的代码修改为两个版本: 版本1 和 版本2。 版本1使用表提供与我的参考设计相同的输出、而第二个版本提供的输出与 controlSUITE 中的 VCU 版本相同。 我不能弄清楚他们在做什么不同。 我一直在寻找它们太长时间了。
欢迎提供任何帮助。
你绝对是对的。 谢谢! 通过将 uint16_t 的序列解释为(8位)字节的序列、由于 x86和 C2000器件是小端字节序、这将导致一系列 LSB0、MSB0、LSB1、MSB1、... 而我期望 MSB 在 LSB 之前。
我猜我可以通过互换来使 controlSUITE ASM 实现与我的参考实现相匹配
VCRC16P2L_1 VCRC16P2H_1
说明。 感谢您的建议。