0 / 0 / 0
Регистрация: 19.08.2014
Сообщений: 430
1

Hid девайс

09.01.2016, 18:39. Показов 23478. Ответов 64
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Привет.
Подскажите какой нибудь софт для приема и передачи информации на hid устройство. Сделал custom hid на stm32.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
09.01.2016, 18:39
Ответы с готовыми решениями:

STM32F4 USB HID Host отправка данных в девайс
Здравствуйте. Кто нибудь пробовал подключить кастомный девайс к сабжу? Интересует реализация...

STM32F4Discovery + USB HID
Народ, помогите раздуплить этот гребаный USB !!! (никогда не использовал, но вот пришлось) ...

клавиатура HID из stm32f103
Сначала потыкалась в этой теме, но поняла, что не в тему Суть процесса - изображаю из STM32f103...

Приложение для HID
Всем привет. Задался вот таким вопросом. Есть USB-HID на STM32 вродибы все работает с USB HID...

64
2 / 2 / 0
Регистрация: 07.02.2106
Сообщений: 1,605
09.01.2016, 19:48 2
У немца http://mykrosontroller.bplosid.net/word ... ge_id=1993 смотрели?
Там есть какая-то софтина. Но я лично её не проверял.
0
0 / 0 / 0
Регистрация: 21.11.2012
Сообщений: 1,400
09.01.2016, 19:56 3
Не понимаю, на кой черт делать HID кроме стандартных эмуляций клавы, мыши или джойстика? Зачем весь этот гемор, если можно сделать USB-CDC и тупо работать как с последовательным портом, только вместо /div/ttySx писать /div/ttyACMx ?
0
2 / 2 / 0
Регистрация: 07.02.2106
Сообщений: 1,605
09.01.2016, 20:17 4
Ну не скажите.
1. В ком порт любой дурак любую пургу слать может. С HID в этом отношении посложнее.
2. В той же винде для CDC нужно ставить драйвер. Пусть найти его не проблема, но всё же. HID девайс ставится сам, на автомате.
0
0 / 0 / 0
Регистрация: 19.08.2014
Сообщений: 430
09.01.2016, 20:18 5
У немца http://mykrosontroller.bplosid.net/word ... ge_id=1993 смотрели?
Там есть какая-то софтина. Но я лично её не проверял.
Смотрел но у меня она не заработала. Сложно будет сразу писать верхний софт не проверив прием передачу.
0
0 / 0 / 0
Регистрация: 19.08.2014
Сообщений: 430
10.01.2016, 10:43 6
Скажите какие лучше использовать библиотеки для работы с hid устройством.Пишу софт верхнего уровня в visual studyo.
0
0 / 0 / 0
Регистрация: 06.02.2013
Сообщений: 333
10.01.2016, 10:47 7
Цитата Сообщение от hd44780
2. В той же винде для CDC нужно ставить драйвер. Пусть найти его не проблема, но всё же. HID девайс ставится сам, на автомате.
Десятая винда научилась сама ставить для CDC дрова.
0
0 / 0 / 0
Регистрация: 21.11.2012
Сообщений: 1,400
10.01.2016, 10:49 8
Цитата Сообщение от hd44780
1. В ком порт любой дурак любую пургу слать может. С HID в этом отношении посложнее.
Полстранички кода, и любую пургу можно в HID слать!
2. В той же винде для CDC нужно ставить драйвер. Пусть найти его не проблема, но всё же. HID девайс ставится сам, на автомате.
В отличие от прошивок для игровых приставок, в операционных системах все нужные для работы модули ядра уже есть, ничего ставить не надо! Для работы с CDC вообще ничего в принципе не нужно писать — можно тупо ssreen запустить. А вот с HID так не получится: придется писать свой протокол общения, если это не клава-мыша-жойстик!
0
0 / 0 / 0
Регистрация: 18.04.2014
Сообщений: 4
10.01.2016, 20:19 9
Цитата Сообщение от Iddy_Im
В отличие от прошивок для игровых приставок, в операционных системах все нужные для работы модули ядра уже есть, ничего ставить не надо!
Подозреваю, Вы сейчас говорите про Linux? Там действительно в плане STM32/USB-CDC всё несколько проще. А что касается "дефолтной" ОС, то тут, увы, Вы лукавите. Без предустановки драйвера работать не получится. Я говорю о:

http://www.st.com/web/en/catalog/tools/PF257938

Цитата Сообщение от Iddy_Im
Для работы с CDC вообще ничего в принципе не нужно писать — можно тупо ssreen запустить. А вот с HID так не получится: придется писать свой протокол общения, если это не клава-мыша-жойстик!
Конечно, а в случае работы с CDC свой протокол лепить не нужно - подключенное к ПК устройство и сам ПК через libastral поймут, какие байты и в какой момент времени имеют ту или иную смысловую нагрузку.
P.S.: Лейбмотив моего данного поста - при всём уважении к Вам, Эдуард, всё-таки по-меньше красноглазия - а то неокрепшие умы не осилят.
0
1 / 1 / 0
Регистрация: 05.10.2017
Сообщений: 2,048
10.01.2016, 20:44 10
HID удобен тем, что дрова в винде автоматом есть. Как ни крути, но это удобно. Малую долю линукса даже не рассматриваю. Видел линукс лишь однажды, лет 10 назад.
0
0 / 0 / 0
Регистрация: 08.02.2012
Сообщений: 648
10.01.2016, 20:54 11
Цитата Сообщение от zhytimkov
Скажите какие лучше использовать библиотеки для работы с hid устройством.Пишу софт верхнего уровня в visual studyo.
Я пользуюсь библиотекой libusb, очень просто и удобно http://sourceforge.net/projects/libusbdotnet/
0
0 / 0 / 0
Регистрация: 07.02.2106
Сообщений: 3,113
10.01.2016, 20:55 12
О чем спор то?
У HID только одна трудность - открыть устройство. А после открытия дается hDevice hFile, что позволяет общаться с устройством как с файлом - записать, прочитать. Это что, сложнее COM-порта? Ну я вас умоляю....
add.
У HID только один недостаток и обойти его невозможно. Не больше 64К в секунду. Точнее 64000 б/с
0
0 / 0 / 0
Регистрация: 07.02.2106
Сообщений: 3,113
10.01.2016, 21:00 13
Ну не знаю ... На обычной win проблем небыло.
Вообще-то, я пишу на (наприличное слово) masm32 с нативным API, старательно избегая всяких монстроидальных извратов. Проблем небыло, по крайней мере для моего железа.
0
0 / 0 / 0
Регистрация: 18.04.2014
Сообщений: 4
10.01.2016, 21:12 14
Цитата Сообщение от u37
Ну не знаю ... На обычной win проблем небыло.
Вообще-то, я пишу на (наприличное слово) masm32 с нативным API, старательно избегая всяких монстроидальных извратов. Проблем небыло, по крайней мере для моего железа.
Также не испытываю проблем. Для нижнего уровня - libusb (бонус - кроссплатформенность). Для "морды" и высокоуровневой абстракции потоков - Qt 5.x. USB-поток ни разу не зависал.
0
0 / 0 / 0
Регистрация: 13.10.2014
Сообщений: 112
10.01.2016, 21:35 15
Цитата Сообщение от Iddy_Im
Не понимаю, на кой черт делать HID кроме стандартных эмуляций клавы, мыши или джойстика? Зачем весь этот гемор, если можно сделать USB-CDC и тупо работать как с последовательным портом, только вместо /div/ttySx писать /div/ttyACMx ?
С HID нет проблем у пользователей с драйверами. Для многих установка драйвера - непреодолимый барьер. Также не надо ничего настраивать при подключении множества устройств, в случае с CDC надо выбирать порты.
0
0 / 0 / 0
Регистрация: 21.11.2012
Сообщений: 1,400
10.01.2016, 22:08 16
Да неужели здесь подавляющее большинство - вантузятники?
Я в шоке!
0
mws
10.01.2016, 22:12 17
Вот ссылка на пример, который использовал для создания hid-устройства, там также есть пример клиента на C++ под виндовс. Я этот клиент не использовал, так как пишу под LABWINDOWS, а он компилит только чистый Си. Нашёл пример под LABWINDOWS, сейчас не могу опять его найти, но там используется либа отсюда, в принципе всё предельно понятно, основные функции:
* rawhid_open - open 1 or more divices
* rawhid_recv - receive a packet
* rawhid_send - send a packet
* rawhid_close - close a divice
К проекту также прилинкованы либы hid.lib и setupapi.lib. Если интересно, могу скинуть свой проект.

Теперь по поводу CDC и всего такого. Во первых CDC это костыль. Эмулируется устаревший тип оборудования только для того, чтобы разрабу не напрягаться и не разбираться с новыми функциями. Получается, что поверх пакетного протокола USB эмулируется потоковый COM, поверх которого потом надо ещё написать опять пакетный протокол. Есть смысл его использовать, только в том случае, если нет возможности переделать софт клента на PC. Далее - необходини настройка порта, если для открытия hid достаточно указать vid и pid, то для открытия COM-порта надо знать номер порта, скорость, режимы обмена и т.д. Если сканировать все порты, то это может занять приличное время. Ну и возможность использовать несколько эндпоинтов в режиме hid может оказаться совсем не лишним. И да, глюков и зависаний при обмене в режиме hid я тоже пока не обнаружил.
0 / 0 / 0
Регистрация: 13.10.2014
Сообщений: 112
11.01.2016, 01:42 18
Цитата Сообщение от Iddy_Im
Да неужели здесь подавляющее большинство - вантузятники?
Я в шоке!
Вы удивитесь, но большинство пользователей - на винде.
0
0 / 0 / 0
Регистрация: 21.11.2012
Сообщений: 1,400
11.01.2016, 01:52 19
Да пофиг мне на юзеров, пусть хоть на гей-оси сидят. Разговор-то о разработчиках! Неужели среди них столько ССЗБ, которые в мастдайке кактус грызут?
Вот же дикие люди...
0
0 / 0 / 0
Регистрация: 30.01.2010
Сообщений: 123
11.01.2016, 06:30 20
Для общения с девайсом через HID под виндой использовал код вот отсюда (используются функции из стандартной библиотеки hid.dll которая есть в любой винде):
http://www.pjrc.com/teensy/rawhid.html

Немного этот код пофиксил, для кросплатформенности добавил работу через libusb в линуксе, обернул (основной интерфейс в файле usb.c).

[6.04 Кб]
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
11.01.2016, 06:30
Помогаю со студенческими работами здесь

stm32f3discovery и USB-HID
Добрый день! Пытаюсь работать с USB на STM. Для начала решил освоить HID. С качал с оффсайта...

USB HID на STM32F3 Discovery
Доброго времени суток! Народ, помогите поладить с USB-HID. Что-то совсем ничего не получается......

USB HID report descriptor
Добрый день! Пытаюсь подключить usb беспроводной геймпад Logitech F710 к stm32f4discovery,...

Как работает USB HID?
Добрый день. Не могу понять, как работает USB HID на STM32F4. Смотрел примеры от Кайла, от ST,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru