Ожидание полного паке с com порта, как реализовать?

Есть весы, валят в ком-порт пакеты данных 12 байт. Написал программу + морду на pyqt5, проблема в том, что программа при загрузке начинает сразу слушать порт и пытаться разобрать эти пакеты, иногда бывает такое, что в момент открытия порта происходит, что-то типа рассинхронизации, хотя есть указатель конца пакета, и начинает валить неправильные пакеты, такое ощущение, что конец от предыдущего пакета и начало текущего пакета.
Необходимо как-то при открытии дождаться полного пакета и начать слушать именно так как надо, хотя по моей логике указатели четности, стоп-бита, размера пакета, в настройках ком-порта должны как раз пресекать такое на аппаратном уровне, или я неправильно рассуждаю ?
Настройки ком-порта (скорость, четность и т.д.) согласно мануалу к весам.
  • Вопрос задан
  • 233 просмотра
Пригласить эксперта
Ответы на вопрос 1
@pfg21
ex-турист
старт-стоп биты по идее должны четко разграничивать каждый байт. и проблем с неправильным считыванием символов сталкивался редко.
у тебя проблема с кривыми байтами или определением начала пакета ??
если у тебя проблема только с определением начала пакета, то просто жди символы начала пакета, потом пиши пакет в буфер и отправляй на обработку.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы