Название: QextSerialEnumerator не видит порты Отправлено: gf59 от Сентябрь 22, 2009, 22:13 Всем доброго времени суток!
Мы решили написать утилитку для работы с прибором, который подключается через USB-COM. При подключении прибора ему назначается порт COM 3. Для работы с ком-портом скачали библиотеку qextserialport 1.2 alpha Начали разбирать примеры, и у меня оказалось, что пример Enumerator (который перечисляет доступные ком-порты) ничего не видит! Создал свой собственный проект, и в нём такая же ситуация. Причём у коллеги этот же пример полностью работоспособен. Кто-нибудь сталкивался с такой проблемой? Связано ли это с QT или ещё с чем-то? Название: Re: QextSerialEnumerator не видит порты Отправлено: lit-uriy от Сентябрь 22, 2009, 22:36 А ОСьки у вас одинаковые?
Название: Re: QextSerialEnumerator не видит порты Отправлено: gf59 от Сентябрь 23, 2009, 03:01 Про ОС узнаю - напишу
Строка в примере такая: Код: QList<QextPortInfo> ports = QextSerialEnumerator::getPorts(); Делаю всё в виртуальной ОС Пробовал запустить в реальной - то же самое (и там, и там WinXP, только один хомяк, другой - профессионал) Других ком-портов в системе нет, только COM3 от USB-COM на приборе Название: Re: QextSerialEnumerator не видит порты Отправлено: kuzulis от Сентябрь 23, 2009, 07:39 Попробуй библу QSerialDevice - там работает!
ЗЫ: не сочтите за PR :) Название: Re: QextSerialEnumerator не видит порты Отправлено: gf59 от Сентябрь 23, 2009, 11:32 lit-uriy, ОС у нас одинаковые
Цитировать Попробуй библу QSerialDevice - там работает! У неё лицензия GPL, а нам не хотелось бы исходники открыватьНа реальной машине включил в биосе реальный COM1. QextSerialEnumerator его увидел. Но прибор на COM3 всё равно не видит Похоже, что он просто с первого начинает, а на втором заканчивает, если там пусто Соответственно, если и COM1 нет, то заканчивает сразу Нашёл вот на английском: http://code.google.com/p/qextserialport/issues/detail?id=13 (http://code.google.com/p/qextserialport/issues/detail?id=13) Там пишут, что устройство должно быть зарегистрировано с файлом serenum.sys, (видимо чтоб работала связка usb-com) Советуют подправить inf-файл и GUID в исходниках библиотеки Сделал, не помогло :( Название: Re: QextSerialEnumerator не видит порты Отправлено: FormatCft от Сентябрь 23, 2009, 14:26 kuzulis. А энумирацию делает вами предложенный инструмент?
Название: Re: QextSerialEnumerator не видит порты Отправлено: pastor от Сентябрь 23, 2009, 14:38 2 gf59: Можешь сам самостоятельно вычитать информацию о портах (в том числе и виртуальных) из реестра
Название: Re: QextSerialEnumerator не видит порты Отправлено: gf59 от Сентябрь 23, 2009, 14:59 pastor, спасибо
А в реестре всегда актуальная информация об устройствах? Название: Re: QextSerialEnumerator не видит порты Отправлено: Prm от Сентябрь 23, 2009, 15:05 QextSerialEnumerator возвращает только те порты, которые видно в диспетчере устройств (они же и присутствуют в реестре). Если портов нет - явно проблема в драйверах.
Был случай, стояла плата портов от Advantech, дрова, как в последствии выяснилось, установились криво. В результате, в диспетчере порты не отображались, а терминалка с портами работать могла (ComPump). QextSerialEnumerator также портов не видел. Установили дрова заново - все заработало как надо. Если в преобразователе USB-COM используется микруха FT232... можно попробовать установить сертифицированные драйвера. Название: Re: QextSerialEnumerator не видит порты Отправлено: gf59 от Сентябрь 23, 2009, 15:17 Prm, в диспетчере устройств com-порт появился
и потом, другая программа (написанная в BDS) всё нормально видит Название: Re: QextSerialEnumerator не видит порты Отправлено: kuzulis от Сентябрь 23, 2009, 16:08 Цитировать kuzulis. А энумирацию делает вами предложенный инструмент? Должен. Он из реестра читает.Название: Re: QextSerialEnumerator не видит порты Отправлено: pastor от Сентябрь 23, 2009, 16:33 pastor, спасибо А в реестре всегда актуальная информация об устройствах? Да, актуальная. Можешь сам подключить девайс и глянуть ветвь "HKLM\HARDWARE\DEVICEMAP\SERIALCOMM" Название: Re: QextSerialEnumerator не видит порты Отправлено: gf59 от Сентябрь 23, 2009, 19:48 Проблему решил, всем спасибо!
Название: Re: QextSerialEnumerator не видит порты Отправлено: pastor от Сентябрь 24, 2009, 09:31 Проблему решил, всем спасибо! А поделиться решением с сообществом? ;) Название: Re: QextSerialEnumerator не видит порты Отправлено: gf59 от Сентябрь 24, 2009, 20:44 pastor, проблему решил не сам, а с помощью советов сообщества :)
Короче, использую QSerialDevice Ну и из реестра наверное тоже придётся читать Название: Re: QextSerialEnumerator не видит порты Отправлено: kolob от Декабрь 18, 2012, 11:54 Такая же проблема. Но как то не охота на сторонние библиотеки переходить.
В диспетчер все порты видны. А в программе только COM1, Virtual COM не видит. Название: Re: QextSerialEnumerator не видит порты Отправлено: kuzulis от Декабрь 18, 2012, 12:05 Цитировать Но как то не охота на сторонние библиотеки переходить. Значит придется есть кактус :) , хотя, там были какие-то коммиты для расширенной поддержки устройств,но я ХЗ, работает или нет. UPD: Как будто, QextSerialPort - это "не сторонняя"... UPD2: Но другая "сторонняя" либа QtSerialPort (http://qt-project.org/wiki/QtSerialPort_Russian)точно поддерживает туеву хучу портов. ::) Название: Re: QextSerialEnumerator не видит порты Отправлено: kolob от Декабрь 18, 2012, 12:14 Цитировать UPD: Как будто, QextSerialPort - это "не сторонняя"... дело в том что прога уже есть. придется наверно переписывать используя QtSerialPort. Везде о ней только и говорят. Название: Re: QextSerialEnumerator не видит порты Отправлено: Bepec от Декабрь 18, 2012, 13:02 kuzulis преуспел в его создании :) виват ;)
Название: Re: QextSerialEnumerator не видит порты Отправлено: kolob от Декабрь 18, 2012, 13:56 Какая то ерунда
прога с библиотекой qextserialport.1.2win-alpha2 не видит VCOM, а прога с библиотекой qextserialport-1.2beta1 видит. Название: Re: QextSerialEnumerator не видит порты Отправлено: b-s-a от Декабрь 18, 2012, 14:51 kolob, а что собственно тебя удивляет? Было бы удивительно, если было наоборот.
Название: Re: QextSerialEnumerator не видит порты Отправлено: kolob от Декабрь 18, 2012, 15:02 b-s-a, меня удивляет то что первая выпущена позже, чем вторая
|