Russian Qt Forum
Ноябрь 22, 2024, 22:17
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Войти
Начало
Форум
WIKI (Вики)
FAQ
Помощь
Поиск
Войти
Регистрация
Russian Qt Forum
>
Forum
>
Qt
>
Дополнительные компоненты
>
QextSerialEnumerator не видит порты
Страниц: [
1
]
2
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: QextSerialEnumerator не видит порты (Прочитано 16104 раз)
gf59
Гость
QextSerialEnumerator не видит порты
«
:
Сентябрь 22, 2009, 22:13 »
Всем доброго времени суток!
Мы решили написать утилитку для работы с прибором, который подключается через USB-COM.
При подключении прибора ему назначается порт COM 3.
Для работы с ком-портом скачали библиотеку qextserialport 1.2 alpha
Начали разбирать примеры, и у меня оказалось, что пример Enumerator (который перечисляет доступные ком-порты) ничего не видит!
Создал свой собственный проект, и в нём такая же ситуация.
Причём у коллеги этот же пример полностью работоспособен.
Кто-нибудь сталкивался с такой проблемой?
Связано ли это с QT или ещё с чем-то?
Записан
lit-uriy
Джедай : наставник для всех
Offline
Сообщений: 3880
Re: QextSerialEnumerator не видит порты
«
Ответ #1 :
Сентябрь 22, 2009, 22:36 »
А ОСьки у вас одинаковые?
Записан
Юра.
gf59
Гость
Re: QextSerialEnumerator не видит порты
«
Ответ #2 :
Сентябрь 23, 2009, 03:01 »
Про ОС узнаю - напишу
Строка в примере такая:
Код:
QList<QextPortInfo> ports = QextSerialEnumerator::getPorts();
И после этого ports.size() возвращает 0.
Делаю всё в виртуальной ОС
Пробовал запустить в реальной - то же самое (и там, и там WinXP, только один хомяк, другой - профессионал)
Других ком-портов в системе нет, только COM3 от USB-COM на приборе
Записан
kuzulis
Джедай : наставник для всех
Offline
Сообщений: 2812
Re: QextSerialEnumerator не видит порты
«
Ответ #3 :
Сентябрь 23, 2009, 07:39 »
Попробуй библу QSerialDevice - там работает!
ЗЫ: не сочтите за PR
Записан
ArchLinux x86_64 / Win10 64 bit
gf59
Гость
Re: QextSerialEnumerator не видит порты
«
Ответ #4 :
Сентябрь 23, 2009, 11:32 »
lit-uriy
, ОС у нас одинаковые
Цитировать
Попробуй библу QSerialDevice - там работает!
У неё лицензия GPL, а нам не хотелось бы исходники открывать
На реальной машине включил в биосе реальный COM1.
QextSerialEnumerator его увидел. Но прибор на COM3 всё равно не видит
Похоже, что он просто с первого начинает, а на втором заканчивает, если там пусто
Соответственно, если и COM1 нет, то заканчивает сразу
Нашёл вот на английском:
http://code.google.com/p/qextserialport/issues/detail?id=13
Там пишут, что устройство должно быть зарегистрировано с файлом serenum.sys, (видимо чтоб работала связка usb-com)
Советуют подправить inf-файл и GUID в исходниках библиотеки
Сделал, не помогло
«
Последнее редактирование: Сентябрь 23, 2009, 13:08 от gf59
»
Записан
FormatCft
Гость
Re: QextSerialEnumerator не видит порты
«
Ответ #5 :
Сентябрь 23, 2009, 14:26 »
kuzulis. А энумирацию делает вами предложенный инструмент?
Записан
pastor
Administrator
Джедай : наставник для всех
Offline
Сообщений: 2901
Re: QextSerialEnumerator не видит порты
«
Ответ #6 :
Сентябрь 23, 2009, 14:38 »
2 gf59: Можешь сам самостоятельно вычитать информацию о портах (в том числе и виртуальных) из реестра
Записан
Integrated Computer Solutions, Inc. (ICS)
http://www.ics.com/
gf59
Гость
Re: QextSerialEnumerator не видит порты
«
Ответ #7 :
Сентябрь 23, 2009, 14:59 »
pastor
, спасибо
А в реестре всегда актуальная информация об устройствах?
Записан
Prm
Гость
Re: QextSerialEnumerator не видит порты
«
Ответ #8 :
Сентябрь 23, 2009, 15:05 »
QextSerialEnumerator возвращает только те порты, которые видно в диспетчере устройств (они же и присутствуют в реестре). Если портов нет - явно проблема в драйверах.
Был случай, стояла плата портов от Advantech, дрова, как в последствии выяснилось, установились криво. В результате, в диспетчере порты не отображались, а терминалка с портами работать могла (ComPump). QextSerialEnumerator также портов не видел. Установили дрова заново - все заработало как надо.
Если в преобразователе USB-COM используется микруха FT232... можно попробовать установить сертифицированные драйвера.
Записан
gf59
Гость
Re: QextSerialEnumerator не видит порты
«
Ответ #9 :
Сентябрь 23, 2009, 15:17 »
Prm
, в диспетчере устройств com-порт появился
и потом, другая программа (написанная в BDS) всё нормально видит
Записан
kuzulis
Джедай : наставник для всех
Offline
Сообщений: 2812
Re: QextSerialEnumerator не видит порты
«
Ответ #10 :
Сентябрь 23, 2009, 16:08 »
Цитировать
kuzulis. А энумирацию делает вами предложенный инструмент?
Должен. Он из реестра читает.
Записан
ArchLinux x86_64 / Win10 64 bit
pastor
Administrator
Джедай : наставник для всех
Offline
Сообщений: 2901
Re: QextSerialEnumerator не видит порты
«
Ответ #11 :
Сентябрь 23, 2009, 16:33 »
Цитата: gf59 от Сентябрь 23, 2009, 14:59
pastor
, спасибо
А в реестре всегда актуальная информация об устройствах?
Да, актуальная. Можешь сам подключить девайс и глянуть ветвь "HKLM\HARDWARE\DEVICEMAP\SERIALCOMM"
Записан
Integrated Computer Solutions, Inc. (ICS)
http://www.ics.com/
gf59
Гость
Re: QextSerialEnumerator не видит порты
«
Ответ #12 :
Сентябрь 23, 2009, 19:48 »
Проблему решил, всем спасибо!
Записан
pastor
Administrator
Джедай : наставник для всех
Offline
Сообщений: 2901
Re: QextSerialEnumerator не видит порты
«
Ответ #13 :
Сентябрь 24, 2009, 09:31 »
Цитата: gf59 от Сентябрь 23, 2009, 19:48
Проблему решил, всем спасибо!
А поделиться решением с сообществом?
Записан
Integrated Computer Solutions, Inc. (ICS)
http://www.ics.com/
gf59
Гость
Re: QextSerialEnumerator не видит порты
«
Ответ #14 :
Сентябрь 24, 2009, 20:44 »
pastor
, проблему решил не сам, а с помощью советов сообщества
Короче, использую QSerialDevice
Ну и из реестра наверное тоже придётся читать
Записан
Страниц: [
1
]
2
Вверх
Печать
« предыдущая тема
следующая тема »
Перейти в:
Пожалуйста, выберите назначение:
-----------------------------
Qt
-----------------------------
=> Вопросы новичков
=> Уроки и статьи
=> Установка, сборка, отладка, тестирование
=> Общие вопросы
=> Пользовательский интерфейс (GUI)
=> Qt Quick
=> Model-View (MV)
=> Базы данных
=> Работа с сетью
=> Многопоточное программирование, процессы
=> Мультимедиа
=> 2D и 3D графика
=> OpenGL
=> Печать
=> Интернационализация, локализация
=> QSS
=> XML
=> Qt Script, QtWebKit
=> ActiveX
=> Qt Embedded
=> Дополнительные компоненты
=> Кладовая готовых решений
=> Вклад сообщества в Qt
=> Qt-инструментарий
-----------------------------
Программирование
-----------------------------
=> Общий
=> С/C++
=> Python
=> Алгоритмы
=> Базы данных
=> Разработка игр
-----------------------------
Компиляторы и платформы
-----------------------------
=> Linux
=> Windows
=> Mac OS X
=> Компиляторы
===> Visual C++
-----------------------------
Разное
-----------------------------
=> Новости
===> Новости Qt сообщества
===> Новости IT сферы
=> Говорилка
=> Юмор
=> Объявления
Загружается...