问题描述
熟悉CRC计算的任何人都可以验证此代码
https://github.com/psvanstrom/esphome-p1reader/blob/main/p1reader.h#L120
其实就是按照这个描述计算crc?
CRC 是一个 CRC16 值,它是根据数据消息中的前面字符计算得出的(从 “/“ 到 ”!”使用多项式:x16+x15+x2 +1)。 CRC16 不使用 XOR 输入,不使用 XOR 输出,并且是 先用最低有效位计算。该值表示为 4 个十六进制字符(MSB 在前)。
解决方法
链接代码中没有关于它从哪里开始和结束以及结果最终如何表示的内容,但是是的,该代码实现了该规范。