我正在研究 SMBus
通信,我想计算 PEC(数据包错误代码)值。PEC 值使用带有 0x07 多项式的 CRC-8 校验和。我想在
STM32G031F6 中使用 CRC 外设进行 PEC 计算。Cubemx 设置如下。

代码在这里;
- CRC_Data[0] = 0x16;
- CRC_Data[1] = 0x0f;
- CRC_Data[2] = 0x17;
- CRC_Data[3] = 0xe9;
- CRC_Data[4] = 0x03;
- SMBus_PEC = HAL_CRC_Calculate (&hcrc, CRC_Data, 5);
SMBus_PEC 值为 0x54 但这是错误的。它必须是 0xE8。我正在使用此站点的在线 CRC 计算进行计算 ==>
我从SMBus上读到的PEC值也是0xE8。另外,当我手动计算时,我得到相同的值。

问题是什么?