В документе CRC_Calculation_Humidity_Sensor_E.pdf дана формула x8 + x5 + x4 + 1, так же там есть таблица
Считаю CRC по таблице
В протеусе считанная и расчетная контрольная сумма совпадает, в железе нет. Как правильно считать Crc?
Код: Выделить всё
Const
CRC_Table: Array[0..255] of Byte = (0, 49,
98, 83, 196, 245, 166, 151, 185, 136, 219,
...)Код: Выделить всё
Crc=CRC_Table[StatusReg];// регистр статуса
Crc=CRC_Table[Cmd^ Crc];// команда на чтение температуры
Crc=CRC_Table[Msb^ Crc];// считанные данные
Crc=CRC_Table[Lsb^ Crc];// считанные данные