-
- Открывать и работать с не своими устройствами уж точно не нужно. То
чего я тебе дал в принципе должно быть достаточно для определения
номера своего порта. Вначале по PID/VID находишь нужное устройство,
потом там в разделе DeviceParameters есть PortName в котором имя
компорта. Всё! - fk0(01.09.2020 23:23, ссылка)
- )) ну да, я заделал так (убил все порты к подключению) так , нахожу
порт, открываю, отправляю запрос "Who are you ?" жду ответа 300мс,
если ответ не получен, запрашиваем следующий! Если мой девайс
откликнулся, при отсутствии обмена запросы идут каждые 2 сек. и
если девайс подключен все ок! но если запустили прогу без девайса,
все ком порты отвалились от подключения. Спасибо! Завтра с утреца
покурю инфу!!! PS! VID/PID кстати не канют!! нужно именно имя и
производителя из Aleksey_75(81 знак., 01.09.2020 23:32)
- Порты нужно закрывать. Работа с USB -- другой уровень абстракции,
точно ли тебе он нужен? Т.к. сулит дополнительные сложности. - fk0(01.09.2020 23:40)
- "Т.к. сулит дополнительные сложности" а как еще найти мой девайс
среди 100500 компортов ?? я попробовал решение в лоб, оно четко
определяет мой девайс, но завешивает все остальные комы системы - Aleksey_75(01.09.2020 23:49)
- У тебя тупо баг где-то с незакрытием портов. Метод постучаться в
каждый -- в целом ок. - fk0(01.09.2020 23:50)
- )) к примеру в системе 2 порта , т.е обращение к каждому будет
каждые 600мс, какой терминал и какой человек прочувствует свободный
порт Aleksey_75(1058 знак., 02.09.2020 00:06)
- Не надо раз в 600мс. Нужно один раз на старте и после обнаружения
каждого нового порта. Обнаруживать можно либо поллингом ветки
реестра (а не портов!), либо по методикам из ссылки (там разные
подходы, я плохо понял): - fk0(02.09.2020 00:12, ссылка)
- хм! А вот за это спасибо! Дельный совет! Спасибо!! - Aleksey_75(02.09.2020 00:18)
- Не надо раз в 600мс. Нужно один раз на старте и после обнаружения
каждого нового порта. Обнаруживать можно либо поллингом ветки
реестра (а не портов!), либо по методикам из ссылки (там разные
подходы, я плохо понял): - fk0(02.09.2020 00:12, ссылка)
- )) к примеру в системе 2 порта , т.е обращение к каждому будет
каждые 600мс, какой терминал и какой человек прочувствует свободный
порт Aleksey_75(1058 знак., 02.09.2020 00:06)
- У тебя тупо баг где-то с незакрытием портов. Метод постучаться в
каждый -- в целом ок. - fk0(01.09.2020 23:50)
- естественно , 300мс нет ответа , закрываем и идем дальше! Но все терминалы которыми я пользуюсь (Terminal 1,9b и Compump) говорят что все порты заняты )) - Aleksey_75(01.09.2020 23:48)
- "Т.к. сулит дополнительные сложности" а как еще найти мой девайс
среди 100500 компортов ?? я попробовал решение в лоб, оно четко
определяет мой девайс, но завешивает все остальные комы системы - Aleksey_75(01.09.2020 23:49)
- Порты нужно закрывать. Работа с USB -- другой уровень абстракции,
точно ли тебе он нужен? Т.к. сулит дополнительные сложности. - fk0(01.09.2020 23:40)
- )) ну да, я заделал так (убил все порты к подключению) так , нахожу
порт, открываю, отправляю запрос "Who are you ?" жду ответа 300мс,
если ответ не получен, запрашиваем следующий! Если мой девайс
откликнулся, при отсутствии обмена запросы идут каждые 2 сек. и
если девайс подключен все ок! но если запустили прогу без девайса,
все ком порты отвалились от подключения. Спасибо! Завтра с утреца
покурю инфу!!! PS! VID/PID кстати не канют!! нужно именно имя и
производителя из Aleksey_75(81 знак., 01.09.2020 23:32)
- нагуглилось что-то >>> - SciFi(01.09.2020 22:16, ссылка)
- Открывать и работать с не своими устройствами уж точно не нужно. То
чего я тебе дал в принципе должно быть достаточно для определения
номера своего порта. Вначале по PID/VID находишь нужное устройство,
потом там в разделе DeviceParameters есть PortName в котором имя
компорта. Всё! - fk0(01.09.2020 23:23, ссылка)