Форум РадиоКот https://radiokot.ru/forum/ |
|
HID и USB в Visual Basic. https://radiokot.ru/forum/viewtopic.php?f=24&t=144443 |
Страница 1 из 1 |
Автор: | Ariadna-on-Line [ Ср апр 19, 2017 11:42:04 ] |
Заголовок сообщения: | HID и USB в Visual Basic. |
Уважаемые коты, ткните носом на информацию. А то похоже скоро опухоль мозга будет от гугления. Нужно из Visual Basic общаться с USB окружением, чаще HID-ами. Например посмотреть сколько устройств подключено. Их идентификаторы Виды-Пиды. Обратиться к конкретному Виду-Пиду. Узнать его возможности. Послать ему или от него байт(ы) данных. И тд. В самом Бейсике этого конечно нет, поэтому делается через вызовы функций из DLL-лек. А это Бейсик может (ну и я чуть-чуть). Очень хоцца конкретных примеров кода. Абсолютно уверен, что все это кто-то умный уже сделал и опубликовал. Заранее бесконечно благодарен. ПС. По аналогии например, узнать сколько звуковух на компе - осьмушка строчки кода (X = waveInGetNumDevs) в Визуал Бейсике. |
Автор: | Мурик [ Ср апр 19, 2017 14:12:23 ] |
Заголовок сообщения: | Re: HID и USB в Visual Basic. |
http://www.radiokot.ru/forum/search.php ... ds=HID&fid[]=24&sc=1&terms=tag&sf=tag&sr=topics&submit=Search http://www.radiokot.ru/forum/viewtopic. ... it=HID_Lib |
Автор: | Ariadna-on-Line [ Пт апр 21, 2017 01:35:09 ] |
Заголовок сообщения: | Re: HID и USB в Visual Basic. |
Ага. Спасибо. Кое чего получается. Например функцией "Handle = HID_OpenDevice(PID, VID, VersionNumber, Index)" проверяем наличие конкретного Вида-Пида. Можно организовать цикл перебора VID-PID (0-65535). Но это жуткое количество времени. Существует ли способ просто "спросить" комп- к тебе вообще подключены какие-нибудь HID-устройства и сколько. А если нет, то нефиг и искать. Прошу прощенья за такой примитивизм - я "железячник" по профессии. И чегото не нагугливаю. |
Автор: | Мурик [ Пт апр 21, 2017 07:48:44 ] |
Заголовок сообщения: | Re: HID и USB в Visual Basic. |
Ariadna-on-Line писал(а): Можно организовать цикл перебора VID-PID (0-65535). Это больше 4 миллиардов комбинаций. Заранее неизвестны PID и VID?Ariadna-on-Line писал(а): Существует ли способ просто "спросить" комп- к тебе вообще подключены какие-нибудь HID-устройства и сколько. Функция HID_DeviceInfo из HID_Lib_PlusЦитата: Функция HID_Devicelnfo(*Struct.HID_Devicelnfo) помещает в структуру HID_Devicelnfo, указатель на которую должен быть передан в качестве аргумента, список всех НID устройств, подключенных к компьютеру и их конфигурацию. Описание структуры HID_Devlcelnfo на языке PureBasic.
Код: Structure HID_Sub_DeviceInfo Переменные с префиксом w имеют тип Word занимают по два байта памяти компьютера, а переменные с префиксом s — строкового типа. В примерах в архиве можно найти утилиту "HIDInfo", основанную на использовании данной функции.VendorID.w ProductID.w VersionNumber.w NumInputBuffers.w InputReportByteLength.w OutputReportByteLength.w FeatureReportByteLength.w Manufacturer.s Product.s SerialNumber.s EndStructure Structure HID_DeviceInfo CountDevice.w ; Число обнаруженных HID устройств DeviceInfo.HID_Sub_DeviceInfo[258] ; Статический массив структур "HID_Sub_DeviceInfo" EndStructure |
Автор: | Ariadna-on-Line [ Пт апр 21, 2017 22:58:35 ] |
Заголовок сообщения: | Re: HID и USB в Visual Basic. |
Вчера его скачал "промеж" других. Спасибо за наводку. Есть такая функция. И работает. Но - как это сделано? Ведь HID.dll как бы основа всего ХИДа, и в нем нет такой полезной функции ? Странно... Согласитесь ведь, "надергивать" функции из разных чужих длл-лек -несолидно даже на Бейсике, когда есть мама-Винда. |
Автор: | Мурик [ Сб апр 22, 2017 09:00:20 ] |
Заголовок сообщения: | Re: HID и USB в Visual Basic. |
Ariadna-on-Line писал(а): Ведь HID.dll как бы основа всего ХИДа, и в нем нет такой полезной функции ? Функции в setupapi.dllЕсли внимательно посмотреть на функцию HID_OpenDevice то можно заметить что в цикле производится перечисление всех (по крайней мере первых 256) HID устройств и сравнение их PID/VID с требуемым. |
Автор: | Ariadna-on-Line [ Вс апр 23, 2017 23:51:04 ] |
Заголовок сообщения: | Re: HID и USB в Visual Basic. |
Нашел наконец. Работает. Разберусь до конца - отпишусь. Действительно не допёр- ведь HID устройства сначала надо идентифицировать именно как HID из всех подключаемых к USB. |
Страница 1 из 1 | Часовой пояс: UTC + 3 часа |
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |