| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > С/С++: Кроссплатформенное программирование, Qt/Gtk+/wxWidgets > QSerialPort несколько соединений |
| Автор: lemik1986 30.9.2014, 11:00 |
| Всем доброго дня! Необходим совет как лучше создать несколько соединение с com-портами (8-9 одновременно) с помощью QSerialPort. Данные с каждого com-порта буду собираться и кидаться в базу, т.е. они одновременно будут слать данные. Пока вариант только один: для каждого делать отдельный поток. Может есть друге варианты? |
| Автор: borisbn 30.9.2014, 11:08 |
Зачем ? У QSerialPort есть сигнал readyRead. Вешайся на него одним обработчиком, в котором при помощи sender() можешь выяснить какой именно порт прислал данные. |
| Автор: math64 30.9.2014, 14:41 | ||
| У меня для этого дела сделан класс SerialHelper. Он содержит: - QSerialPort с которым работает - буфер в котором накапливаются данные, получаемые в readyRead (они могут приходить по одному байту, а могут большими порциями) - сигнал, на который можно повесить обработчик получения полной порции данных - имя таблицы или sql запрос для помещения в базу данных. Если данных много, лучше делать на нитях, чтобы ГУИ не тормозил. Но тормозить может база данных. При использовании sqlite нужно делать транзакции:
|