CRC реверс-инжиниринг с использованием CRC RevEng - PullRequest
0 голосов
/ 26 февраля 2019

Я пытаюсь декодировать 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)    

Любая помощьбудет признателен.

1 Ответ

0 голосов
/ 26 февраля 2019

Ваш Байт8 и Байт7 - это просто сумма предыдущих байтов в порядке с прямым порядком байтов.Байт 9 является исключительным или из предыдущих байтов.

CRC отсутствует.

...