Есть микроконтроллер arduino mega 2560, который нужно подружить с ККТ PAYONLINE 01-ФА, в документации
_https://disk.yandex.ru/d/ypcRmv7JlPbWCw описан пример как реализовать расчет CRC16-CCITT, но он не подходит.
мне известны пакеты данных которые отправляет официальная программа «Тест драйвер ККТ» например:
02 05 10 1E 00 00 00 0B
или 02 05 11 1E 00 00 00 0A
и ответ от самой ККТ:
02 | 10 | 10 | 00 | 1E 90 0A 04 00 00 9E DE 18 01 00 75 02 00 | AE
или соответственно
02 | 30 | 11 | 00 | 1E 43 31 08 07 13 01 17 01 38 00 90 0A 04 00 00 4E 41 00 00 01 01 10 1A 0B 18 0A 06 23 00 ED 29 00 00 0C 00 00 00 00 00 FC 15 CF CB 01 00 | FD
по документации указано что первый бит это стартовый, второй(иногда еще и 3 бит) это длина пакета данных (без учета стартового бита и CRC) и в конце это сам CRC.
я перепробовал множество популярных полиномов но ни один не подходит, также пробовал программу по подбору полинома для crc16, который перебирает все варианты, делал реверс инжиниринг программы «Тест драйвер ККТ», там есть намеки на CRC32 и CRC16-CCITT, но в ассемблере я не сильно шарю, файл из IDA тоже приложу по ссылке выше.
Заранее спасибо за помощь.
Перемещено CrX из general