zHz00 Untitled

среда, 26 апреля 2017
23:58 Лакуна
Смотрю, пакеты от устройства приходят не целиком (это как раз то, из-за чего я делал вчерашние дампы). Конкретно -- отсутствует начало. А иногда вообще ответ не приходит. Причём "недостача" возникает только в начале процесса обмена. Если первый пакет пришёл нормально, все остальные тоже приходят нормально.

Оказалось, я делал вот что: сначала я посылал запрос к устройству, а потом запускал отдельный поток для считывания данных.

Однако поток при старте очищал входной буфер виртуального COM-порта! На всякий случай -- вдруг там мусор какой от предыдущих передач остался?

Если мне везло, то устройство не успевало ответить до очистки буфера, и ошибка не возникала. Поскольку очистка производилась только при старте потока, дальнейшие запросы и ответы воспринимались нормально. Если же мне не везло, то часть ответа (или даже весь ответ) оказывалась стёрта.

@темы: Программирование, Борьба с техникой

URL
Ночь, сука, наваливается.... Один дома-3... Я у...
Сегодня я буду петь вам о корейских туалетах... О прох...
Представьте... Час езды на автобусе и начинаются горы,...
Обещанное просветление вечером:) *** ...И где же п...
В основе крупных событий часто лежат мелкие глупости.
По многочисленным просьбам :mad: и наездам :abuse: со...
Добавить комментарий

Расширенная форма

Подписаться на новые комментарии
Получать уведомления о новых комментариях на E-mail