эволюционирую потихоньку
468 / 466 / 91
Регистрация: 30.06.2009
Сообщений: 1,401
|
|
1 | |
Определить имя/тип COM порта27.10.2009, 11:02. Показов 11608. Ответов 13
Метки нет Все метки)
(
Есть USB-устройство, есть к нему драйвер, который позволяет общаться с устройством будто оно подключенно по СОМ порту. собственно этот драйвер, как я понимаю, эмулирует данный COM порт, и даёт ему имя устройства.
Собственно вопрос: можно программным способом определить из всего множества доступных COM портом именно этот? как это сделать, какие сведенья необходимо знать/получить? (среда Visual C++, система Windows ХР)
0
|
|
27.10.2009, 11:02 | |
Ответы с готовыми решениями:
13
Имя СOM порта через диспетчер устройств Ввести массив строк фамилию, имя и отчество. Нужно определить, какое имя является родным Как определить тип интерфейса COM-порта
|
![]() 7175 / 3234 / 80
Регистрация: 17.06.2009
Сообщений: 14,164
|
|
27.10.2009, 22:54 | 2 |
Видимо эволюция идет в сторону амеб.
Как ты думаешь можно тебе помочь, если ты даже не назвали ни устройство, ни драйвер, ни зачем тебе это нужно.
0
|
эволюционирую потихоньку
468 / 466 / 91
Регистрация: 30.06.2009
Сообщений: 1,401
|
|
28.10.2009, 06:14 [ТС] | 3 |
попрошу без оскорблений
Человек звучит гордо, а обезьяна - перспективно (с) ![]() Я и спрашивал 2. сведения о драйвере в системе гласят: c:\WINDOWS\system32\DRIVERS\klfltdev.sys c:\WINDOWS\system32\DRIVERS\usbser.sys 3. требуется для оганизации программного поиска СОМ порта к которому подключенно устройство
0
|
![]() 7175 / 3234 / 80
Регистрация: 17.06.2009
Сообщений: 14,164
|
|
28.10.2009, 15:15 | 4 |
Теперь ты спрашиваешь - как определить на какой COM-порт устройство село само. Давай еще эволюционируй немного и определись с задачей.. Добавлено через 1 минуту Насколько я понимаю определить куда село устройство намного проще чем заставить его сесть на заданный COM-порт.
0
|
эволюционирую потихоньку
468 / 466 / 91
Регистрация: 30.06.2009
Сообщений: 1,401
|
|
28.10.2009, 17:32 [ТС] | 5 |
произошла типичная подмена понятий, отбросим предшествующее недопонимание.
Задача: определить на какой COM-порт устройство село само.
0
|
эволюционирую потихоньку
468 / 466 / 91
Регистрация: 30.06.2009
Сообщений: 1,401
|
|
29.10.2009, 12:15 [ТС] | 6 |
Короче, тему надо закрывать помощи ждать уже не стоит.
Самостоятельно выяснил следующее: программным способом найти определённое устройство можно только послав ему какой-то запрос через COM порт и получив (в случае - ну наконец-то повезло) ответ. соответственно устройство должно корректо отвечать на ваш запрос о чём с ним желательно "договориться". собственно так всегда и поступают, доверяя выбор пользователю или перебирая все порты в поисках того, который ответит. а всё потому, что кроме типа ком порта в реестре по адресу HKEY_LOCAL_MACHINE\HARDWARE\DEVICEM AP\SERIALCOMM\ ничего узнать не удасться Типы ком портов бывают такие \Device\VSerial0 со значением СОМ9 - это виртуальный сом порт. \Device\Serial0 - родной СОМ порт \Device\VCP0 - переходник USB to RS232
0
|
61 / 62 / 3
Регистрация: 25.05.2009
Сообщений: 520
|
|
29.10.2009, 13:11 | 7 |
Как вариант - получить список портов ДО подключения устройства и ПОСЛЕ.
0
|
![]() 7175 / 3234 / 80
Регистрация: 17.06.2009
Сообщений: 14,164
|
|
29.10.2009, 13:30 | 8 |
Или до запуска программы.
0
|
61 / 62 / 3
Регистрация: 25.05.2009
Сообщений: 520
|
|
29.10.2009, 13:55 | 9 |
И все эти названия прописаны в драйвере, который можно править обычным блокнотом без потери работоспособности.
0
|
эволюционирую потихоньку
468 / 466 / 91
Регистрация: 30.06.2009
Сообщений: 1,401
|
|
29.10.2009, 16:36 [ТС] | 10 |
DrMcSheen, я хотел подчеркнуть, что названия стандартные и определить конкретное устройство по ним не возможно, так как устройства различаются лишь этими типами и система присваивает им номера по очерёдности подключения.
0
|
61 / 62 / 3
Регистрация: 25.05.2009
Сообщений: 520
|
|
29.10.2009, 18:25 | 11 |
Номера присваивает система, согласен. Но это лишь последняя цифра "0" в вышеперечисленных названиях. И даже у стандартных устройств, как ни странно, есть драйвера
![]() В твоём случае, просто для интереса, подключи устройство, посмотри его ник в реестре и в папке с его драйвером поищи файл, содержащий эту строку. Без нуля, ессно. Точно найдёшь. И исправь.
0
|
эволюционирую потихоньку
468 / 466 / 91
Регистрация: 30.06.2009
Сообщений: 1,401
|
|
29.10.2009, 20:59 [ТС] | 12 |
про драйвера я в курсе
можно поподробней про пути к ним. где этот ник в реестре? где эта папка с драйвером? по адресу HKEY_LOCAL_MACHINE\HARDWARE\DEVICEM AP\SERIALCOMM\ я находил только стандартное название переходника USB to RS232. а именно там система раздаёт номера ком портов. пробовал подключать ещё что-нить подобное и лицезрел следующее такое же устройство тока с другой циферкой. проясните ситуцию если не сложно
0
|
61 / 62 / 3
Регистрация: 25.05.2009
Сообщений: 520
|
|
30.10.2009, 06:28 | 13 |
Ну с определением "ник" я просто прикололся, имея в виду его имя.
Где находится папка с драйвером - это надо тебя спросить: когда система пишет "найдено новое устройство", ведётся автоматический поиск драйверов в папке %windir%\inf. В случае отсутствия - просит указать путь к *.inf файлу, т.е. к папке с драйвером. Вобщем, подключай устройство, определи, на какой порт оно село, смотри в реестре - кста, путь ты верный нашел - как оно обозвалось, и ищи файл, содержащий эту строку. В папке с драйвером. В папке windows\inf. Во всём компьютере, наконец, если не знаешь, кто и откуда дрова ставил. ![]() Найденный файл может быть *.inf, *.cat, *.sys, да в принципе любой, но ссылка на него есть в файле описания драйвера - в inf. В найденном файле правишь эту строку на своё усмотрение - она может быть упомянута неоднократно, здесь универсального метода нет, всё методом тыка - главное, чтобы в реестре отобразилось именно это новое имя устройства, и из своей программы по этой строке будешь определять нужный порт. Не по теме: быстро, качественно, бесплатно. Выбери любые два. - надо взять на вооружение :)
0
|
эволюционирую потихоньку
468 / 466 / 91
Регистрация: 30.06.2009
Сообщений: 1,401
|
|
30.10.2009, 21:09 [ТС] | 14 |
жалко нынче уже выходной, попробую проработать ваш вариант в понедельник, не вдумывался в ответ
Не по теме: быстро, качественно, бесплатно. Выбери любые два. - надо взять на вооружение :) бери, мне не жалко, не я придумал. главное наставление - соответсвуй ![]()
0
|
30.10.2009, 21:09 | |
Помогаю со студенческими работами здесь
14
имя Device по № порта Как определить имя сервер может определить имя Как запомнить имя COM - порта для следующего запуска приложения Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |