Comments 9
На днях собирался курить мануалы по данной теме. Из за того, что об этом ничего не знаю думал, что мне на девайс USB Hub IC предусмотреть нужно будет. А тут всё разжёвано. Будет с чего начать думать головой.
Отличная работа. Спасибо. Плюсанул и добавил в закладки.
Это все уже не интересно и давно проедено. Вот что то посложней бы! Например, прикрутить к стм ке USB принтер и выводить на него с контроллера на печать.
Но все оказалось не так, даже в простое хост на сканер слал несколько пакетов в секунду, так что с форматом запроса так и не разобрался (хотя ответ с изображением был действительно простой). Думаю, что с принтерами +- то же самое.
к сожалению, функциональность USB-Host понадобится; в то время, как здесь (и в целевых STM'ках) речь об USB-Device
Недавно натыкался на эту библиотеку: alambe94/I-CUBE-USBD-Composite: Create STM32 USB Composite devices with ease. (github.com)
Сделана как пакет для CubeIDE/MX. Вроде как даже работает, но особо не стал разбираться.
Hidden text
![](https://habrastorage.org/getpro/habr/upload_files/bac/57b/9e9/bac57b9e9005712ab3a4db88c384d205.png)
Не понимаю, почему STM до сих пор не сделали нативно эту функцию?
Спасибо за статью.
У меня вопрос по теме, но не связанный со статьей. Есть ли готовые библиотеки или просто примеры работы на STM или Atmel с HID устройствами? Т.е. я хочу подключить к контроллеру хаб, а к нему клавиатуру и/или мышь. И получить поток HID событий на контроллере.
Да есть, для этого нужны классы Host Hub и Host HID.
Все это найдёте в Azure RTOS USBX
Там же найдёте без приключений и примеры композитных устройств в разных сочетаниях.
Для этого нужно реализовывать не USB device, а USB HOST. Это совсем друга история.
STM32 Modular USB Composite device