QSerialPort несколько соединений

 
0
 
C++
ava
lemik1986 | 30.09.2014, 12:00
Всем доброго дня!
Необходим совет как лучше создать несколько соединение с com-портами (8-9 одновременно) с помощью QSerialPort. Данные с каждого com-порта буду собираться и кидаться в базу, т.е. они одновременно будут слать данные. Пока вариант только один: для каждого делать отдельный поток. Может есть друге варианты?
Ответы (2)
ava
borisbn | 30.09.2014, 11:08 #
Цитата (lemik1986 @  30.9.2014,  11:00 findReferencedText)
для каждого делать отдельный поток. 

Зачем ? У QSerialPort есть сигнал readyRead. Вешайся на него одним обработчиком, в котором при помощи sender() можешь выяснить какой именно порт прислал данные.
ava
math64 | 30.09.2014, 14:41 #
У меня для этого дела сделан класс SerialHelper.
Он содержит: QSerialPort с которым работает
буфер в котором накапливаются данные, получаемые в readyRead (они могут приходить по одному байту, а могут большими порциями)
слот, на который можно повесить обработчик получения полной порции данных
или имя таблицы или sql запрос для помещению в базу данных.
Если данных много, лучше делать на нитях, чтобы ГУИ не тормозил.
Зарегистрируйтесь или войдите, чтобы написать.
Фирма дня
Вы также можете добавить свою фирму в каталог IT-фирм, и публиковать статьи, новости, вакансии и другую информацию от имени фирмы.
Подробнее
Участники
advanced
Отправить