Russian Qt Forum
Ноябрь 23, 2024, 22:46 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: QSerialPort  (Прочитано 3008 раз)
mus_zzz
Гость
« : Январь 20, 2016, 10:12 »

Доброго дня! Вопрос по методу waitForReadyRead:

while(1)
{
  ...
  Port.write();//записываем в порт

  if(waitForReadyRead(100))//не выполняется при отсутствии данных в теч.100мс
 {
      A = Port.readAll();
 }
}
Условие выполняется один раз.Может я неправильно толкую метод waitForReadyRead?
Записан
Bepec
Гость
« Ответ #1 : Январь 20, 2016, 10:41 »

оффтоп: как же меня бесит это while(1). Каждый раз начинаю вспоминать все true / false во всех известных мне языках и постоянно путаюсь. Неужели сложно написать true или false?  Веселый
Записан
mus_zzz
Гость
« Ответ #2 : Январь 20, 2016, 10:46 »

Ок.

while(true)
{
  ...
  Port.write();//записываем в порт

  if(waitForReadyRead(100))//не выполняется при отсутствии данных в теч.100мс
 {
      A = Port.readAll();
 }
}
Условие выполняется один раз.Может я неправильно толкую метод waitForReadyRead?
Записан
poru
Самовар
**
Offline Offline

Сообщений: 103


Просмотр профиля
« Ответ #3 : Январь 20, 2016, 13:05 »

Так же сталкивался с такой проблемой. Сейчас использую только проверку на количество байт в буфере за отведенное время (bytesAvailable). А вообще 40 строк исходного кода waitForReadyRead поражает своей насыщенностью.
Записан
mus_zzz
Гость
« Ответ #4 : Январь 20, 2016, 13:35 »

спс, буду пробывать
Записан
mus_zzz
Гость
« Ответ #5 : Январь 20, 2016, 14:10 »

подскажите, а где можно просмотреть реализацию самого метода waitForReadyRead?
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.049 секунд. Запросов: 22.