crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

44 страниц V  « < 13 14 15 16 17 > »   
Ответить в данную темуНачать новую тему
> 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  


Можно, только не
QString baude = "19200"

а
QString baude = "19200 baud"


Список всех имен скоростей которые можно подавать на вход см. вызвав метод: 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), если первый порт не будет открыт то открывается следующий из списка, а все остальные остаются закрытыми.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

44 страниц V  « < 13 14 15 16 17 > » 
Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 29.3.2024, 3:06