![]() |
|
|
![]()
|
|
| lemik1986 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 1 Регистрация: 9.1.2014 Репутация: нет Всего: нет |
Всем доброго дня!
Необходим совет как лучше создать несколько соединение с com-портами (8-9 одновременно) с помощью QSerialPort. Данные с каждого com-порта буду собираться и кидаться в базу, т.е. они одновременно будут слать данные. Пока вариант только один: для каждого делать отдельный поток. Может есть друге варианты? |
|||
|
||||
| borisbn |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4875 Регистрация: 6.2.2010 Где: Ростов-на-Дону Репутация: 48 Всего: 135 |
Зачем ? У QSerialPort есть сигнал readyRead. Вешайся на него одним обработчиком, в котором при помощи sender() можешь выяснить какой именно порт прислал данные. -------------------- Женщины отличаются от программистов тем, что у них чары состоят из стрингов |
|||
|
||||
| math64 |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2505 Регистрация: 12.4.2007 Репутация: 23 Всего: 72 |
У меня для этого дела сделан класс SerialHelper.
Он содержит: - QSerialPort с которым работает - буфер в котором накапливаются данные, получаемые в readyRead (они могут приходить по одному байту, а могут большими порциями) - сигнал, на который можно повесить обработчик получения полной порции данных - имя таблицы или sql запрос для помещения в базу данных. Если данных много, лучше делать на нитях, чтобы ГУИ не тормозил. Но тормозить может база данных. При использовании sqlite нужно делать транзакции:
Это сообщение отредактировал(а) math64 - 2.10.2014, 10:04 |
|||
|
||||
![]()
|
| Правила форума "С/С++: Кроссплатформенное программирование, QT/Gtk+/wxWidgets" | |
|
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, Любитель. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | С/С++: Кроссплатформенное программирование, Qt/Gtk+/wxWidgets | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |