QSerialPort работа с портом.

 
0
 
C++
ava
Annuta | 29.03.2013, 15:30
Привет, такой вопрос.
Программа работает с ком-портом. Инициализация порта происходит в конструкторе класса GUI (MainWindow), там порт открывается и висит открытым, происходит и чтение и запись в порт без проблем.
НО иногда, на некоторые команды ответ приходит поздно. Выловила эти команды. Если их вызвать прямо в конструкторе, вместе с инициализацией порта - всё работает быстро! А если вынести и вызывать по клику - то долго!

В чём дело ?  Можетт надо городить потоки для чтения и без них тут никуда ?

Чтение из порта происходит по сигналу

        connect(&serial, SIGNAL(readyRead()), this, SLOT(readRequest()));



Kommentare (4)
ava
bsa | 29.03.2013, 15:10 #
Annuta, что ты называешь долго?
ava
math64 | 30.03.2013, 09:54 #
Какую версию библиотеки используешь? Если не последнюю - обновись.
При записи данные записываются в буфер, а не сразу отправляться в порт.
В старой версии они могли там застрять - встречал такое при работе с bluetooth.
ava
Annuta | 01.04.2013, 13:03 #
bsa, как точно долго я не считала, но по второму, иногда третьему нажатию только команда доходит.


math64, версия последняя... думаю моя проблема связана с таймером на ожидание ответа. Может поможет.
ava
math64 | 01.04.2013, 13:13 #
Annuta, нужен пример кода, воспроизводящий проблему.
Registrieren Sie sich oder melden Sie sich an, um schreiben zu können.
Unternehmen des Tages
Вы также можете добавить свою фирму в каталог IT-фирм, и публиковать статьи, новости, вакансии и другую информацию от имени фирмы.
Подробнее
Mitwirkende
ava  bsa   Annuta   math64
advanced
Absenden