|
Модератор
|
||||||
Идентификация своего USB устройства на компьютере04.03.2019, 10:48. Показов 11460. Ответов 33
Всем добра и всего самого вкусного!
Обязательное требование - пользователь работающий с USB устройством через программу на компьютере не должен указывать номер COM порта, программа сама должна найти своё устройство. Ранее я непосредственно с USB дело не имел, использовал FTDI. Прочитал "Агуров П.В. - Практика программирования USB. 2006 г". Разумеется сильно устарела и примеры там для AT89C5131, а мне нужно для ST32F373. Но пока у меня только отладочная плата NUCLEO-L476RG, решил начать с неё. Сделал кубом проект для CDC устройства, указал там своё имя. Пока не ставил драйвер от ST оно виделось в диспетчере устройств (конкретно win7х64) как устройство без драйвера но с именем указанным в
После установки этого драйвера строковый дескриптор продукта уже никак программно не вытащить? Речь не про подключение к терминалу. Программа работающая с устройством будет написана заново, там поверху будет свой протокол который можно менять. В принципе, можно опрашивать все доступные COM-порты. В устройстве сделать что бы оно при поднятии DTR выдавало строку идентификации, но это как то криво и несовместимо с другими устройствами имеющими COM-порт. По скорости, в принципе, пока пролезаю и в HID-устройство, там то с определением устройства по имени не должно быть проблем? Через HidD_GetProductString или по другой строке? Даже если (как обещают) дадут VID&PID, то по ним идентифицировать не выйдет. Реально будет несколько разных устройств которые должны без выбора пользователя выбираться "своими" программами. Да, в перспективе, и в linux тоже. Писать свои драйвера под разные оси не хотелось бы. В общем, посоветуйте как быть. Приоритетно: как то идентифицировать в программах на компьютере своё CDC устройство. Если никак, то как корректно это делать с HID устройствами или другие варианты. Спасибо что дочитали до конца. Краткость не мой конёк.
0
|
||||||
| 04.03.2019, 10:48 | |
|
Ответы с готовыми решениями:
33
Отслеживание подключения/отключения "своего" USB-устройства Переводить команды USB WIFI Адаптера через компьютер по USB-USB для устройства Идентификация устройства |
|
874 / 535 / 175
Регистрация: 30.07.2015
Сообщений: 1,739
|
|||
| 05.03.2019, 23:14 | |||
|
Curry,
1
|
|||
|
Модератор
8982 / 6749 / 921
Регистрация: 14.02.2011
Сообщений: 23,876
|
|||
| 05.03.2019, 23:44 | |||
|
Добавлено через 7 минут если буфер больше чем размер конечной точки то идет несколько посылокя и по 1000 байт посылал, просто запрос надо правильно оформить
0
|
|||
|
|
||||
| 06.03.2019, 00:54 | ||||
|
1
|
||||
|
|
|||
| 06.03.2019, 07:21 | |||
|
Строка описания берётся из inf файла. Inf файл, или драйвер, подгружается при обнаружении соответствия VID&PID. Поэтому, если хотите подгрузить драйвер со своим описанием, нужен свой, уникальный VID&PID. Файлы драйвера нынче должны быть подписаны после внесения изменений. Это затрудняет задачу. Начиная с Windows 10 используется комплектный драйвер, от Microsoft. Как в этом случае действовать, не знаю. Спросите там: https://www.cyberforum.ru/drivers-programming/
1
|
|||
|
874 / 535 / 175
Регистрация: 30.07.2015
Сообщений: 1,739
|
|||
| 06.03.2019, 09:19 | |||
|
ValeryS,
1
|
|||
|
874 / 535 / 175
Регистрация: 30.07.2015
Сообщений: 1,739
|
|
| 13.03.2019, 10:58 | |
|
Запросил у ST пару PID/VID - выдали. На все про все ушло около недели. От себя послал только название организации, физ. адрес. Предполагаемую строку которую будет отображать, они видимо под этой строкой у себя заносят девайс в базу.
Осталось раскурить как правильно приладить эти ID в драйвер
1
|
|
|
Модератор
|
|||
| 13.03.2019, 11:22 [ТС] | |||
|
0
|
|||
|
874 / 535 / 175
Регистрация: 30.07.2015
Сообщений: 1,739
|
|||
| 13.03.2019, 11:31 | |||
Сообщение было отмечено Curry как решение
Решение
1
|
|||
|
Модератор
|
|||
| 13.03.2019, 11:46 [ТС] | |||
|
0
|
|||
|
Модератор
|
|||||||
| 13.03.2019, 12:11 [ТС] | |||||||
В винде отсылаю через HidD_SetOutputReport, читаю через ReadFile.
0
|
|||||||
|
|
|
| 13.03.2019, 12:24 | |
|
Вот чтение меня интересует. Для его успешного прохождения устройство должно постоянно обновлять input report.
А если оно перестало обновлять, как завершить чтение на стороне ПК? Добавлено через 8 минут У меня получалось так, что ReadFile висит бесконечно в ожидании новых данных.
0
|
|
|
Модератор
|
||
| 13.03.2019, 12:55 [ТС] | ||
|
1
|
||
|
Модератор
|
||
| 15.03.2019, 15:27 [ТС] | ||
|
VID&PID дали. Запросил через форму запроса на сайте в саппорте (требуется регистрация на st.com).
13-го запросил, 15-го дали. Запрашивал по образцу приведённом Rius-ом : Идентификация своего USB устройства на компьютере
0
|
||
| 15.03.2019, 15:27 | |
|
Идентификация внешнего устройства Идентификация устройства в IPMI Идентификация устройства, выполняющего приложение При запуске системы отключаются все USB-устройства, в т.ч. устройства ввода Arduino как host usb, написание своего драйвера для обмена информацией с stm32 по usb Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js.
В помощники взял Яндекс-Алису.
Было создано три зала на разные интересы.
исторические и ретро
сериал Хичкок. . .
|
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
|
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#.
Название изменил на ColorStep.
Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
|
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами:
- ВидТО (СправочникСсылка. ВидыТО);
- ВидГСМ. . .
|
|
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала.
Ниже прикреплён. . .
|
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F
Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU.
Опрашиваются регистры. . .
|
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка:
Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
|
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо
Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
|