реклама на сайте
подробности

 
 
> FTDI - определение номера СОМ порта., Как определить номер порта, к которому подключено устройство
CupuyC
сообщение Feb 8 2008, 10:31
Сообщение #1


Частый гость
**

Группа: Свой
Сообщений: 188
Регистрация: 21-04-06
Из: Украина, Киев
Пользователь №: 16 335



Добрый день!
Я сейчас занимаюсь написанием ПО для работы с FT232R.
С помощью функции FT_ListDevices получаю описания всех подключенных устройств. Как определить к какому порту подключено каждое устройство (СОМ1, СОМ2,.....)?
Подскажите пожалуйста, хоть какую ф-цию заюзать?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
KRS
сообщение Feb 8 2008, 15:46
Сообщение #2


Профессионал
*****

Группа: Модераторы
Сообщений: 1 951
Регистрация: 27-08-04
Из: Санкт-Петербург
Пользователь №: 555



Вся нужная вам информация лежит
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\FTDIBUS

там находится дерево вида
VID_0403+PID_xxxx+nnnnnnnnnnnnnnn
внутри каждого есть ключ
0000\Device Parameters\PortName вот там и лежит COM порт

вам надо только разобраться как серийный номер преобразуется в nnnnnnnnnnnnn
(в старых девайсах без еепром туда кодировлось место на USB)

Да еще в ключе
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\COM Name Arbiter\ComDB
хранится битовая маска занятых COM портов (их может быть максимум 256 судя по всему)


Цитата(CupuyC @ Feb 8 2008, 15:47) *
Попытался по другому пойти - запустил по циклу ф-цию:
Код
hCOM=CreateFile( ComPort, GENERIC_WRITE|GENERIC_READ, 0, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL|FILE_FLAG_OVERLAPPED, NULL);

В цикле менялось значение стринга ComPort - СОМ1, СОМ2,.....СОМ25.
Результат
Код
hCOM!=INVALID_HANDLE_VALUE


А вы посмотрите код ошибки, может вы получаете отказ из-за того что устройство вами же и открыто через директ драйвер.
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 23rd August 2025 - 16:05
Рейтинг@Mail.ru


Страница сгенерированна за 0.01376 секунд с 7
ELECTRONIX ©2004-2016