QSerialDevice - Библиотека для работы с COM-портами |
Здравствуйте, гость ( Вход | Регистрация )
QSerialDevice - Библиотека для работы с COM-портами |
kuzulis |
21.10.2010, 12:06
Сообщение
#141
|
Активный участник Группа: Участник Сообщений: 393 Регистрация: 29.6.2009 Пользователь №: 862 Спасибо сказали: 36 раз(а) Репутация: 7 |
Какая ОС?
|
|
|
lpn74 |
21.10.2010, 12:25
Сообщение
#142
|
Новичок Группа: Новичок Сообщений: 3 Регистрация: 21.10.2010 Пользователь №: 2132 Спасибо сказали: 0 раз(а) Репутация: 0 |
Windows7
|
|
|
kuzulis |
21.10.2010, 12:28
Сообщение
#143
|
Активный участник Группа: Участник Сообщений: 393 Регистрация: 29.6.2009 Пользователь №: 862 Спасибо сказали: 36 раз(а) Репутация: 7 |
Только что пересмотрел тот код где вы переоткрываете и не увидел где вы конфигурируете порт! Может все-таки БУДЕМ ЧИТАТЬ ДОКУМЕНТАЦИЮ? ИЛИ КАК?
-- Упс, прощу прощения.. Действительно, данный косяк наблюдаю... Пробую исправить.. --- Вроде исправил, проверьте. Сообщение отредактировал kuzulis - 21.10.2010, 15:26 |
|
|
lpn74 |
22.10.2010, 5:25
Сообщение
#144
|
Новичок Группа: Новичок Сообщений: 3 Регистрация: 21.10.2010 Пользователь №: 2132 Спасибо сказали: 0 раз(а) Репутация: 0 |
Огромное спасибо!
Теперь работает |
|
|
Гость_Гость_* |
4.11.2010, 15:31
Сообщение
#145
|
Гости |
Возможно ли при установке параметров порта вместо:
commPort->setBaudRate(AbstractSerial::BaudRate19200); использовать переменную типа QString, например: QString baude = "19200"; commPort->setBaudRate(baude); Если да то как правильно это реализовать? |
|
|
kuzulis |
4.11.2010, 15:48
Сообщение
#146
|
Активный участник Группа: Участник Сообщений: 393 Регистрация: 29.6.2009 Пользователь №: 862 Спасибо сказали: 36 раз(а) Репутация: 7 |
Можно, только не
а
Список всех имен скоростей которые можно подавать на вход см. вызвав метод: listBaudRate. |
|
|
Гость_Гость_* |
4.11.2010, 16:06
Сообщение
#147
|
Гости |
Спасибо работает.
|
|
|
Гость_Гость_* |
12.11.2010, 18:08
Сообщение
#148
|
Гости |
Здравствуйте.
Можно ли с помощью вашей библиотеки открыть одновременно несколько портов? В хедерном файле я прописал: AbstractSerial *Por1t, *Port2, *Port3; Инициализирую: Port1->setDeviceName("/dev/ttyS0"); if(Port1->open(AbstractSerial::ReadWrite)){ ................. } Port2->setDeviceName("/dev/ttyS1"); if(Port2->open(AbstractSerial::ReadWrite)){ ................. } Port3->setDeviceName("/dev/ttyS2"); if(Port3->open(AbstractSerial::ReadWrite)){ ................. } Открывает только первый. |
|
|
kuzulis |
13.11.2010, 18:49
Сообщение
#149
|
Активный участник Группа: Участник Сообщений: 393 Регистрация: 29.6.2009 Пользователь №: 862 Спасибо сказали: 36 раз(а) Репутация: 7 |
Цитата Можно ли с помощью вашей библиотеки открыть одновременно несколько портов? Конечно можно! Просто есть такой касяк/фича в *.nix , которая заключается в том, что при некорректном завершении программы (например при нажатии ctrl^c) библиотека не удаляет lock-файлы. И поэтому при следующем запуске оно не может открыть порт. Но если теперь еще раз запустить приложение - то порты корректно откроются... Для меня это пока не существенный касяк, поэтому пока не исправляю его. Просто необходимо перед закрытием приложения делать close() всем открытым портам и тогда всё будет хорошо. |
|
|
Гость_Виталий_* |
15.11.2010, 12:03
Сообщение
#150
|
Гости |
Просто есть такой касяк/фича в *.nix , которая заключается в том, что при некорректном завершении программы (например при нажатии ctrl^c) библиотека не удаляет lock-файлы. И поэтому при следующем запуске оно не может открыть порт. Но если теперь еще раз запустить приложение - то порты корректно откроются...
Мене кажется что проблема не в этом. Действительно если не закрыть порт при завершении роботы программы то он следующий раз не откроется. Но проблема состоит в том что после того как я инициирую и открываю первый из группы портов все следующие в списке не будут открыты, lock файл создается только для открытого порта (проверял через файловый менеджер /var/lock), если первый порт не будет открыт то открывается следующий из списка, а все остальные остаются закрытыми. |
|
|
Текстовая версия | Сейчас: 14.11.2024, 6:12 |