Форум программистов, компьютерный форум CyberForum.ru

C++

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 57, средняя оценка - 4.74
TanT
эволюционирую потихоньку
465 / 463 / 43
Регистрация: 30.06.2009
Сообщений: 1,399
#1

Определить имя/тип COM порта - C++

27.10.2009, 11:02. Просмотров 7261. Ответов 13
Метки нет (Все метки)

Есть USB-устройство, есть к нему драйвер, который позволяет общаться с устройством будто оно подключенно по СОМ порту. собственно этот драйвер, как я понимаю, эмулирует данный COM порт, и даёт ему имя устройства.

Собственно вопрос: можно программным способом определить из всего множества доступных COM портом именно этот? как это сделать, какие сведенья необходимо знать/получить?

(среда Visual C++, система Windows ХР)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.10.2009, 11:02     Определить имя/тип COM порта
Посмотрите здесь:

Имя СOM порта через диспетчер устройств - C++ Builder
Благодарю за помощь! Мне необходимо через диспетчер устройств Windiws вытащить имя СОМ порта. Как лучше это сделать??

Ifstream - тип переменной имя файла - C++
Пользователь должен выбрать из списка какой файл он хочет открыть #include <iostream> #include <cstring> #include <fstream> ...

Зачем функции дают тип возврата - имя класса? - C++
Думаю вы по названию не поняли, так вот. Допустим я объявил класс Car. Читаю учебник и вижу там такое: Car *Function(....); Что это...

Определить имя класса - C++
Добрый день. Как определить на этапе компиляции класс имя класса, которое передается в качестве аргумента шаблонной функции? ...

Определить тип носителя - C++
Как можно определить тип носителя без WinAPI ?

Определить тип файла - C++ WinAPI
Как можно определить тип файла (достать из системы информацию) в WINAPI подскажите пожалуйста. Я что-то не могу выгуглить так как по...

определить тип выражений: - C++
пустьchar c; short s; int o; unsigned u; signed char sc; float f; double d; long ing; unsigned short us; long double ld; c-s/i ...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
odip
Эксперт С++
7157 / 3297 / 59
Регистрация: 17.06.2009
Сообщений: 14,164
27.10.2009, 22:54     Определить имя/тип COM порта #2
Видимо эволюция идет в сторону амеб.
Как ты думаешь можно тебе помочь, если ты даже не назвали ни устройство, ни драйвер, ни зачем тебе это нужно.
TanT
эволюционирую потихоньку
465 / 463 / 43
Регистрация: 30.06.2009
Сообщений: 1,399
28.10.2009, 06:14  [ТС]     Определить имя/тип COM порта #3
Цитата Сообщение от odip Посмотреть сообщение
Видимо эволюция идет в сторону амеб.
попрошу без оскорблений
Человек звучит гордо, а обезьяна - перспективно (с)

Цитата Сообщение от odip Посмотреть сообщение
Как ты думаешь можно тебе помочь, если ты даже не назвали ни устройство, ни драйвер, ни зачем тебе это нужно.
Я и спрашивал
какие сведенья необходимо знать/получить?
1. устройство MSP430
2. сведения о драйвере в системе гласят:
c:\WINDOWS\system32\DRIVERS\klfltdev.sys
c:\WINDOWS\system32\DRIVERS\usbser.sys
3. требуется для оганизации программного поиска СОМ порта к которому подключенно устройство
odip
Эксперт С++
7157 / 3297 / 59
Регистрация: 17.06.2009
Сообщений: 14,164
28.10.2009, 15:15     Определить имя/тип COM порта #4
можно программным способом определить из всего множества доступных COM портом именно этот?
требуется для оганизации программного поиска СОМ порта к которому подключенно устройство
Сначала ты просил совсем другое - ты спрашивал - как сделать фиксированный COM-порт для этого устройства.
Теперь ты спрашиваешь - как определить на какой COM-порт устройство село само.

Давай еще эволюционируй немного и определись с задачей..

Добавлено через 1 минуту
Насколько я понимаю определить куда село устройство намного проще чем заставить его сесть на заданный COM-порт.
TanT
эволюционирую потихоньку
465 / 463 / 43
Регистрация: 30.06.2009
Сообщений: 1,399
28.10.2009, 17:32  [ТС]     Определить имя/тип COM порта #5
произошла типичная подмена понятий, отбросим предшествующее недопонимание.
Задача: определить на какой COM-порт устройство село само.
TanT
эволюционирую потихоньку
465 / 463 / 43
Регистрация: 30.06.2009
Сообщений: 1,399
29.10.2009, 12:15  [ТС]     Определить имя/тип COM порта #6
Короче, тему надо закрывать помощи ждать уже не стоит.

Самостоятельно выяснил следующее:
программным способом найти определённое устройство можно только послав ему какой-то запрос через COM порт и получив (в случае - ну наконец-то повезло) ответ. соответственно устройство должно корректо отвечать на ваш запрос о чём с ним желательно "договориться".
собственно так всегда и поступают, доверяя выбор пользователю или перебирая все порты в поисках того, который ответит. а всё потому, что кроме типа ком порта в реестре по адресу HKEY_LOCAL_MACHINE\HARDWARE\DEVICEM AP\SERIALCOMM\ ничего узнать не удасться

Типы ком портов бывают такие
\Device\VSerial0 со значением СОМ9 - это виртуальный сом порт.
\Device\Serial0 - родной СОМ порт
\Device\VCP0 - переходник USB to RS232
DrMcSheen
60 / 60 / 1
Регистрация: 25.05.2009
Сообщений: 521
29.10.2009, 13:11     Определить имя/тип COM порта #7
Как вариант - получить список портов ДО подключения устройства и ПОСЛЕ.
odip
Эксперт С++
7157 / 3297 / 59
Регистрация: 17.06.2009
Сообщений: 14,164
29.10.2009, 13:30     Определить имя/тип COM порта #8
получить список портов ДО подключения устройства и ПОСЛЕ.
Устройство может быть подключено еще до загрузки компьютера.
Или до запуска программы.
DrMcSheen
60 / 60 / 1
Регистрация: 25.05.2009
Сообщений: 521
29.10.2009, 13:55     Определить имя/тип COM порта #9
Цитата Сообщение от TanT Посмотреть сообщение
Типы ком портов бывают такие
\Device\VSerial0 со значением СОМ9 - это виртуальный сом порт.
\Device\Serial0 - родной СОМ порт
\Device\VCP0 - переходник USB to RS232
И все эти названия прописаны в драйвере, который можно править обычным блокнотом без потери работоспособности.
TanT
эволюционирую потихоньку
465 / 463 / 43
Регистрация: 30.06.2009
Сообщений: 1,399
29.10.2009, 16:36  [ТС]     Определить имя/тип COM порта #10
DrMcSheen, я хотел подчеркнуть, что названия стандартные и определить конкретное устройство по ним не возможно, так как устройства различаются лишь этими типами и система присваивает им номера по очерёдности подключения.
DrMcSheen
60 / 60 / 1
Регистрация: 25.05.2009
Сообщений: 521
29.10.2009, 18:25     Определить имя/тип COM порта #11
Цитата Сообщение от TanT Посмотреть сообщение
DrMcSheen, я хотел подчеркнуть, что названия стандартные и определить конкретное устройство по ним не возможно, так как устройства различаются лишь этими типами и система присваивает им номера по очерёдности подключения.
Номера присваивает система, согласен. Но это лишь последняя цифра "0" в вышеперечисленных названиях. И даже у стандартных устройств, как ни странно, есть драйвера
В твоём случае, просто для интереса, подключи устройство, посмотри его ник в реестре и в папке с его драйвером поищи файл, содержащий эту строку. Без нуля, ессно. Точно найдёшь. И исправь.
TanT
эволюционирую потихоньку
465 / 463 / 43
Регистрация: 30.06.2009
Сообщений: 1,399
29.10.2009, 20:59  [ТС]     Определить имя/тип COM порта #12
Цитата Сообщение от DrMcSheen Посмотреть сообщение
Номера присваивает система, согласен. Но это лишь последняя цифра "0" в вышеперечисленных названиях. И даже у стандартных устройств, как ни странно, есть драйвера
В твоём случае, просто для интереса, подключи устройство, посмотри его ник в реестре и в папке с его драйвером поищи файл, содержащий эту строку. Без нуля, ессно. Точно найдёшь. И исправь.
про драйвера я в курсе
можно поподробней про пути к ним. где этот ник в реестре? где эта папка с драйвером?
по адресу HKEY_LOCAL_MACHINE\HARDWARE\DEVICEM AP\SERIALCOMM\ я находил только стандартное название переходника USB to RS232. а именно там система раздаёт номера ком портов. пробовал подключать ещё что-нить подобное и лицезрел следующее такое же устройство тока с другой циферкой.

проясните ситуцию если не сложно
DrMcSheen
60 / 60 / 1
Регистрация: 25.05.2009
Сообщений: 521
30.10.2009, 06:28     Определить имя/тип COM порта #13
Цитата Сообщение от TanT Посмотреть сообщение
где этот ник в реестре? где эта папка с драйвером?
Ну с определением "ник" я просто прикололся, имея в виду его имя.
Где находится папка с драйвером - это надо тебя спросить: когда система пишет "найдено новое устройство", ведётся автоматический поиск драйверов в папке %windir%\inf. В случае отсутствия - просит указать путь к *.inf файлу, т.е. к папке с драйвером.
Вобщем, подключай устройство, определи, на какой порт оно село, смотри в реестре - кста, путь ты верный нашел - как оно обозвалось, и ищи файл, содержащий эту строку. В папке с драйвером. В папке windows\inf. Во всём компьютере, наконец, если не знаешь, кто и откуда дрова ставил.
Найденный файл может быть *.inf, *.cat, *.sys, да в принципе любой, но ссылка на него есть в файле описания драйвера - в inf.
В найденном файле правишь эту строку на своё усмотрение - она может быть упомянута неоднократно, здесь универсального метода нет, всё методом тыка - главное, чтобы в реестре отобразилось именно это новое имя устройства, и из своей программы по этой строке будешь определять нужный порт.

Не по теме:

быстро, качественно, бесплатно. Выбери любые два. - надо взять на вооружение

MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
30.10.2009, 21:09     Определить имя/тип COM порта
Еще ссылки по теме:

Определить тип треугольника - C++
Здравствуйте. Подскажите что не так с кодом. Вот код на паскале var a,b,c:integer; begin writeln('A=,B=,C=:'); readln(a,b,c); ...

Определить тип переменных - C++
Здравствуйте, помогите пожалуйста определить тип переменных f и g словами. double (*(*f)(double(*)(double)))(double) double...

Определить тип символа - C++
С клавиатуры вводится символ С. Напечатать y="Это буква",если С-буква. y="Это цифра",если С-цифра. y="Это не цифра и не буква",если...

Определить тип файла - C++
Скажем имеется некий архив (Пусть это будет Rar). Когда его открываешь как текст, то его первые 4 символа - Rar! При этом я нашел сигнатуру...

Определить тип треугольника. - C++
Задан треугольник с углами a, b и g. Определить тип треугольника — остроугольный, прямоугольный или тупоугольный.


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
TanT
эволюционирую потихоньку
465 / 463 / 43
Регистрация: 30.06.2009
Сообщений: 1,399
30.10.2009, 21:09  [ТС]     Определить имя/тип COM порта #14
жалко нынче уже выходной, попробую проработать ваш вариант в понедельник, не вдумывался в ответ

Не по теме:

быстро, качественно, бесплатно. Выбери любые два. - надо взять на вооружение


бери, мне не жалко, не я придумал. главное наставление - соответсвуй
Yandex
Объявления
30.10.2009, 21:09     Определить имя/тип COM порта
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru