工具/软件:

我正在尝试实现 CRC8 计算、以写入该部分的配置。 在数据表提供的示例中、使用这个在线计算器和我自己的实现、计算出的校验和为 0x3D、我将计算结果为 0x2D。 已指定初始化值、但数据表中未指定最终 XOR 值、是否应为 0xFF? 我处理数据的顺序是否错误?
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.
工具/软件:

我正在尝试实现 CRC8 计算、以写入该部分的配置。 在数据表提供的示例中、使用这个在线计算器和我自己的实现、计算出的校验和为 0x3D、我将计算结果为 0x2D。 已指定初始化值、但数据表中未指定最终 XOR 值、是否应为 0xFF? 我处理数据的顺序是否错误?
尊敬的 Trey:
由于没有最终的 XOR 步骤、多项式应为 0x107、最终 XOR 应为 0x00。
您还需要 计算发送的每个字节的 CRC。
请参阅随附的来自我自己脚本的示例输出。
e2e.ti.com/.../CRC_5F00_TX-example.txt
此致、
Max Verboncoeur
尊敬的 Trey:
CRC 值的 MSB 是对每个 SDI 字节执行 CRC 计算的结果。 LSB 是 SDO 计算的结果。
请参阅下面的 SDI CRC 输出:
e2e.ti.com/.../CRC_5F00_RX-example.txt
此致、
Max Verboncoeur
从 STATUS 寄存器读取 004C 后、在 SDO 上发送的 CRC_RX 是否为 2F? 如果是这样、通过 CRC 运行所有该 RX 数据不会得到 2F、因为 CRC 寄存器正在报告。 如果我在 0x8B 0x00 0x4C 上运行 CRC、则可以获得 2F、但我不理解为什么需要将之前的 CRC_RX 值包含在 STATUS 寄存器的 SDO 上发送的数据的 CRC 值中。