tcp. Для устройства есть файл описывающий формат tcp пакетов, которые являются командами для устройства. Любой пакет по этому описанию содержит crc16 в последних двух байтах. Есть даже код функции расчета crc16 которую предлагается использовать. Устройство в ответ отправляет пакет аналогичного формата, тоже с crc. Для проверки работы функции я пропустил полученные от устройства данные через предложенную crc функцию. Но, как результат я получил совсем не то, что пришло от устройства. Вот данные которые пришли от устройства "f8 55 ce 05 00 41 ff 01 00 00 43 39". Здесь 43 39 это crc данных. Но, у меня crc этого пакета по описанной функции получается e4 e0. И crccalc.com ничего похожего на тот crc который пришел в пакете не выдает. В чем подвох? Может кто сталкивался?
а есть ли у сообщения какой-то заголовок?
Так. Секунду. Погодите. А C++ тут где?
Надо начать с того, что в TCP нет пакетов. Это видимо просто описание протокола. Вопрос по-любому не относится к С++, проблема в конкретных способах вычисления CRC этих "пакетов"
дебаж и логгируй
Обсуждают сегодня