QSerialDevice - Библиотека для работы с COM-портами |
Здравствуйте, гость ( Вход | Регистрация )
QSerialDevice - Библиотека для работы с COM-портами |
kuzulis |
7.4.2012, 17:48
Сообщение
#321
|
Активный участник Группа: Участник Сообщений: 393 Регистрация: 29.6.2009 Пользователь №: 862 Спасибо сказали: 36 раз(а) Репутация: 7 |
|
|
|
Гость_Гость_* |
7.4.2012, 20:39
Сообщение
#322
|
Гости |
kuzulis, спасибо за ответ. А чем плохим может обернуться для Event Loop'a такой фриз? Для примера. Есть однопоточное приложение, которое использует QSerialPort(QSerialDevice) в драйвере кассового аппарата. Используется waitForReadyRead() для реализации таймаутов перед приемом ответов от кассы. Вы бы не соватовали так делать, а использоваться QTimer? И если нет, то почему?
|
|
|
kuzulis |
7.4.2012, 22:50
Сообщение
#323
|
Активный участник Группа: Участник Сообщений: 393 Регистрация: 29.6.2009 Пользователь №: 862 Спасибо сказали: 36 раз(а) Репутация: 7 |
kuzulis, спасибо за ответ. А чем плохим может обернуться для Event Loop'a такой фриз? Для примера. Есть однопоточное приложение, которое использует QSerialPort(QSerialDevice) в драйвере кассового аппарата. Используется waitForReadyRead() для реализации таймаутов перед приемом ответов от кассы. Вы бы не соватовали так делать, а использоваться QTimer? И если нет, то почему? Потому, что от этого фризится GUI, и использовать QSerialDevice с waitForReadyRead() нужно в другом потоке, чтобы этого не происходило. |
|
|
Гость_Гость_* |
8.4.2012, 11:19
Сообщение
#324
|
Гости |
kuzulis, и в очередной раз спасибо за ответ. Как раз хотел спросить про потоки, потому что у меня по протоколу работы с кассой самый большой таймаут ожидания ответа = 10 секунд, но ответ, как правило, приходит за доли секунды. Тоесть при использовании QTimer мне пришлось бы каждый раз ждать 10 секунд, либо ломать протокол, что тоже не выход. Но если в Qt на каждый поток свой EventLoop, то да, waitForReadyRead() можно без проблем использовать.
|
|
|
romeodka |
15.5.2012, 4:21
Сообщение
#325
|
Новичок Группа: Новичок Сообщений: 4 Регистрация: 15.5.2012 Пользователь №: 3381 Спасибо сказали: 1 раз(а) Репутация: 0 |
Доброе время суток.
Подскажите пожалуйста в чем может быть дело. Поставил себе qt-sdk-win-opensource-2010.05 и скачал отсюда QSerialDevice. Начинаю компилировать библиотеку, все идет нормально и потом вылазит окно "Не удалось найти программу, пожалуйста, укажите её" и предлагает указать какую то программу. И что надо указать? и так и должно быть? и вообще что делать? У меня стоит Win Xp Sp2 вот то что в консоли пишет Раскрывающийся текст
|
|
|
kuzulis |
15.5.2012, 10:29
Сообщение
#326
|
Активный участник Группа: Участник Сообщений: 393 Регистрация: 29.6.2009 Пользователь №: 862 Спасибо сказали: 36 раз(а) Репутация: 7 |
Цитата И что надо указать? и так и должно быть? и вообще что делать? С перва наперво - разобраться что ты делаешь, и жмакать по кнопочкам в QtCreator нужно не бездумно, а сначала узнав их предназначение и внимательно читать подсказки (хинты). Далее, QSerialDevice больше не подерживается, вместо него стартовал новый проект QtSerialPort. Тем более, что ты использовал очень старую версию QSerialDevice. Используй QtSerialPort и не пугайся что там написано, что оно только для Qt5, оно также и для Qt4 работает. |
|
|
gpepsi |
12.6.2012, 21:48
Сообщение
#327
|
Студент Группа: Участник Сообщений: 73 Регистрация: 31.3.2010 Пользователь №: 1582 Спасибо сказали: 0 раз(а) Репутация: 0 |
kuzulis, попробовал собрать через командную строку - не варится
валит что-то типа
в debug появилась SerialPortd1.dll, но в релизе ничего нет Сообщение отредактировал gpepsi - 13.6.2012, 11:35 |
|
|
kuzulis |
13.6.2012, 20:21
Сообщение
#328
|
Активный участник Группа: Участник Сообщений: 393 Регистрация: 29.6.2009 Пользователь №: 862 Спасибо сказали: 36 раз(а) Репутация: 7 |
Цитата qmake serialport.pro CONFIG+=release nmake Цитата валит что-то типа так и должно валить |
|
|
asket |
19.7.2012, 14:27
Сообщение
#329
|
Студент Группа: Новичок Сообщений: 15 Регистрация: 18.1.2012 Пользователь №: 3139 Спасибо сказали: 0 раз(а) Репутация: 0 |
kuzulis, я скомпилировал Вашу сборку в каталоге C:\QtSDK\Desktop\Qt\, создав две папки qtserialport и qtserialport-build, в build я вижу src\debug и src\release - там serialport1.dll и libSerialPort1.a, теперь я хочу собрать тестовое приложение, а он ругается на отсутствие <QtAddOnSerialPort/serialportinfo.h>, где он должен быть? Его не автоматом копирует?
|
|
|
kuzulis |
19.7.2012, 17:58
Сообщение
#330
|
Активный участник Группа: Участник Сообщений: 393 Регистрация: 29.6.2009 Пользователь №: 862 Спасибо сказали: 36 раз(а) Репутация: 7 |
я скомпилировал Вашу сборку в каталоге C:\QtSDK\Desktop\Qt\ Вот не нужно так делать. Собирай где-нить в любом другом месте. <QtAddOnSerialPort/serialportinfo.h>, где он должен быть? Его не автоматом копирует? На ВиКи все подробно описано как надо собирать и устанавливать. Сообщение отредактировал kuzulis - 19.7.2012, 17:59 |
|
|
Текстовая версия | Сейчас: 28.11.2024, 21:32 |