dimon_rub 0 19 января, 2017 Опубликовано 19 января, 2017 (изменено) · Жалоба Есть необходимость обмена строками по USB между STM32F103 и ПК. Поднимается HID устройство. Кто что посоветует. Может кто то сталкивался. Побитовый обмен работает на ура но при объявлении в REPORT более длинного массима скажем 63 байта ничего не получается. Смотрел разную документацию - пишут для лампочек, кнопок. В мыше есть поля смещения по осям. где LOGICAL_MAXIMUM = 255 попытался прописать под мышь с массивом таких данных (63). Ни как. В общем совсем запутался. ПОЖАЛУЙСТА укажите куда и что. СПАСИБО!!! Изменено 22 ноября, 2022 пользователем haker_fox Уточнил название темы, добавил теги, переместил в нужный раздел. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ataradov 0 20 января, 2017 Опубликовано 20 января, 2017 · Жалоба Пример проекта для Atmel SAM D21, но суть та же, по крайней мере дескрипторы можно взять оттуда - https://github.com/ataradov/dgw/tree/master/embedded Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
uriy 5 20 января, 2017 Опубликовано 20 января, 2017 · Жалоба Если вам нужно делать обмен данными то зачем вам HID? Я делал обмен булками вот по этой статье http://we.easyelectronics.ru/STM32/stm32-i...-dlya-keil.html Она в двух частях. Софт под винду писал на C# использовал LibUsbDotNet. Все сразу заработало. Надо отметить что на C# я пишу "раз в году" и только простенькие программы для конфигурации железок. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ataradov 0 20 января, 2017 Опубликовано 20 января, 2017 · Жалоба Если вам нужно делать обмен данными то зачем вам HID? HID работает без всяких драйверов и INF файлов. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
YAM 0 20 января, 2017 Опубликовано 20 января, 2017 · Жалоба 0x06, 0x00, 0xFF, // Usage Page (Vendor-Defined 1) 0x09, 0x01, // Usage (Vendor-Defined 1) 0xA1, 0x01, // Collection (Application) 0x15, 0x00, // Logical Minimum (0) 0x26, 0xFF, 0x00, // Logical Maximum (255) 0x75, 0x08, // Report Size (8) 0x95, USB_PACK_MAX, // Report Count (69) 0x09, 0x00, // Usage (Undefined) 0xB2, 0x02, 0x01, // Feature (Data,Var,Abs,NWrp,Lin,Pref,NNul,NVol,Buf) 0xC0 // End Collection У меня например USB_PACK_MAX = 69. Обмен через GET_REPORT и SET_REPORT и HID_FEATURE. В дескрипторе конфига конечная точка описана как interrupt с размером пакета 8 байт. Для обмена на компе используются вызовы из HID.DLL HidD_GetFeature и HidD_SetFeature. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
leocat 0 22 января, 2017 Опубликовано 22 января, 2017 · Жалоба HID работает без всяких драйверов и INF файлов. Да. Только если VID, PID неизвестны системе, то каждый раз будет обнаруживаться неизвестное устройство. И под линуксом не очень удобная работа получается... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
YAM 0 22 января, 2017 Опубликовано 22 января, 2017 · Жалоба Да. Только если VID, PID неизвестны системе, то каждый раз будет обнаруживаться неизвестное устройство. И под линуксом не очень удобная работа получается... С какого бодуна у Вас подобная информация? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ataradov 0 22 января, 2017 Опубликовано 22 января, 2017 · Жалоба Да. Только если VID, PID неизвестны системе, то каждый раз будет обнаруживаться неизвестное устройство. Не будет. Все работает из коробки. Я уже давно использую HID как самый удобный способ обмена информацией со всеми ОС без драйверов и изврата. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
mantech 49 22 января, 2017 Опубликовано 22 января, 2017 · Жалоба Да. Только если VID, PID неизвестны системе, то каждый раз будет обнаруживаться неизвестное устройство. И под линуксом не очень удобная работа получается... Если устройство неизвестное, то в диспетчере устройств так и будет написано - "HID совместимое устройство". Если VID и PID не меняются при каждом включении, то ничего переопределяться не будет, только если воткнете в другой порт, но это уже маразм винды, причем не только для HID. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
GenaSPB 11 22 января, 2017 Опубликовано 22 января, 2017 · Жалоба Если пропишете непустой серийник, ничего не переопознается (проверено на CDC). Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться