Russian Qt Forum

Qt => Вопросы новичков => Тема начата: koldun90 от Июнь 27, 2017, 19:24



Название: метод readline при чтении серийного порта
Отправлено: koldun90 от Июнь 27, 2017, 19:24
Здравствуйте проблема в следующем. Читаю построчно с устройства /dev/ttyS0 методом QByteArray QIODevice::readLine(qint64 maxSize = 0).
Вся проблема в том что когда к порту не подключено устройство и не идут данные, то данный метод не выполняется(точнее он висит не возвращает значение) что можно с этим сделать?


Название: Re: метод readline при чтении серийного порта
Отправлено: Old от Июнь 27, 2017, 19:36
Не использовать данный метод, а вычитывать значения по мере их поступления и самому следить за "концом строки".


Название: Re: метод readline при чтении серийного порта
Отправлено: koldun90 от Июнь 27, 2017, 19:56
как отследить поступление данных можно пример? использую qt 4.8

возможности использовать qserialport нет


Название: Re: метод readline при чтении серийного порта
Отправлено: Old от Июнь 27, 2017, 20:00
как отследить поступление данных можно пример?
Так а чем читаете данные? QSerialPort?


Название: Re: метод readline при чтении серийного порта
Отправлено: Old от Июнь 27, 2017, 20:01
возможности использовать qserialport нет
А платформа какая? linux/win?


Название: Re: метод readline при чтении серийного порта
Отправлено: koldun90 от Июнь 27, 2017, 20:04
linux 2.6.32 открываю файл c помощью qfile::open читаю данные с помощью readline
открываю файл с флагом ReadWrite


Название: Re: метод readline при чтении серийного порта
Отправлено: Old от Июнь 27, 2017, 20:23
linux 2.6.32 открываю файл c помощью qfile::open читаю данные с помощью readline
открываю файл с флагом ReadWrite
Посмотрите на класс QSocketNotifier, в linux если ему подсунуть дескриптор открытого порта, сможете получать сигнал при приходе новых данных, как readyRead.


Название: Re: метод readline при чтении серийного порта
Отправлено: kuzulis от Июнь 28, 2017, 08:03
Цитировать

использую qt 4.8
...
возможности использовать qserialport нет

Кто сказал? Вы вики  (https://wiki.qt.io/Qt_Serial_Port)читали?