希望是一个简单的修复,但似乎找不到它。
我使用crcmod来计算多项式x^8 + x^2 +x+1 (0x07)的CRC-8。
import crcmod
crcPoly = 0b100000111 # x^8 + x^2 + x + 1 (Hex: 0x07)
buff = 0b01110001 # (Hex: 0x71)
CRC = crcmod.mkCrcFun(crcPoly)
crc = CRC(chr(buff).encode('utf-8'))
print(hex(crc))这输出0xa,但是CRC-8 Calc和arduino代码都给我0x50。
任何建议都非常感谢。请保持简单,因为很明显,我不确定数据类型等。
发布于 2021-08-13 13:26:31
使用CRC8解决:
from crc import CrcCalculator, Crc8
buff = [0b11011010] # (Hex: 0x71)
crc_calculator = CrcCalculator(Crc8.CCITT)
checksum = crc_calculator.calculate_checksum(buff)
print(hex(checksum))https://stackoverflow.com/questions/68770959
复制相似问题