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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: метод readline при чтении серийного порта  (Прочитано 8016 раз)
koldun90
Крякер
****
Offline Offline

Сообщений: 345


Просмотр профиля
« : Июнь 27, 2017, 19:24 »

Здравствуйте проблема в следующем. Читаю построчно с устройства /dev/ttyS0 методом QByteArray QIODevice::readLine(qint64 maxSize = 0).
Вся проблема в том что когда к порту не подключено устройство и не идут данные, то данный метод не выполняется(точнее он висит не возвращает значение) что можно с этим сделать?
Записан
Old
Джедай : наставник для всех
*******
Online Online

Сообщений: 4349



Просмотр профиля
« Ответ #1 : Июнь 27, 2017, 19:36 »

Не использовать данный метод, а вычитывать значения по мере их поступления и самому следить за "концом строки".
Записан
koldun90
Крякер
****
Offline Offline

Сообщений: 345


Просмотр профиля
« Ответ #2 : Июнь 27, 2017, 19:56 »

как отследить поступление данных можно пример? использую qt 4.8

возможности использовать qserialport нет
« Последнее редактирование: Июнь 27, 2017, 20:00 от koldun90 » Записан
Old
Джедай : наставник для всех
*******
Online Online

Сообщений: 4349



Просмотр профиля
« Ответ #3 : Июнь 27, 2017, 20:00 »

как отследить поступление данных можно пример?
Так а чем читаете данные? QSerialPort?
Записан
Old
Джедай : наставник для всех
*******
Online Online

Сообщений: 4349



Просмотр профиля
« Ответ #4 : Июнь 27, 2017, 20:01 »

возможности использовать qserialport нет
А платформа какая? linux/win?
Записан
koldun90
Крякер
****
Offline Offline

Сообщений: 345


Просмотр профиля
« Ответ #5 : Июнь 27, 2017, 20:04 »

linux 2.6.32 открываю файл c помощью qfile::open читаю данные с помощью readline
открываю файл с флагом ReadWrite
« Последнее редактирование: Июнь 27, 2017, 20:09 от koldun90 » Записан
Old
Джедай : наставник для всех
*******
Online Online

Сообщений: 4349



Просмотр профиля
« Ответ #6 : Июнь 27, 2017, 20:23 »

linux 2.6.32 открываю файл c помощью qfile::open читаю данные с помощью readline
открываю файл с флагом ReadWrite
Посмотрите на класс QSocketNotifier, в linux если ему подсунуть дескриптор открытого порта, сможете получать сигнал при приходе новых данных, как readyRead.
Записан
kuzulis
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2812


Просмотр профиля
« Ответ #7 : Июнь 28, 2017, 08:03 »

Цитировать

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

Кто сказал? Вы вики читали?
Записан

ArchLinux x86_64 / Win10 64 bit
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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