Я пытаюсь декодировать 9-байтовый пакет RS-485 с 3-байтовым CRC, как показано ниже.Используя последовательный монитор ПО, я расшифровал часть параметров с помощью онлайн-калькулятора.
Я знаю, что могу вычислить Byte7 с использованием 8-битной контрольной суммы 8 по модулю 256. Моя проблема в том, что я не могу определить последние 2 байта CRC.Я приложил свой вывод от декодера CRC veng и нашел модель, но не имя.Я поставил 4 полных 9-байтовых пакета.
reveng -w8 -sF 9BYTEPACKET1 9BYTEPACKET2 9BYTEPACKET3 9BYTEPACKET4
И, как показано в ссылке на изображение, он возвращает:
width=8,poly=0x01,init=0x00,refin=false,refout=false,xorout=0x00,check=0x31,residue=0x00,name="(none)"
Пример данных:
00 32 2a ff ff cd 27 03 f1
00 20 03 ff ff cd ee 02 02
00 13 28 ff ff cd 06 03 f3
00 13 02 ff ff cd e0 02 3e
Byte1 = ID(Can Change)
Byte2 = Parameter(Can Change)
Byte3 = Parameter(Can Change)
Byte4 = 0xFF (Never changes)
Byte5 = 0xFF (Never changes)
Byte6 = 0xCD (Never changes)
Byte7 = Checksum8 Modulo 256 (I can calculate this from Byte1 to Byte6)
Byte8 = CRC (Changes with diff Parameter data)
Byte9 = CRC (Changes with diff Parameter data)
Любая помощьбудет признателен.