将STM32F103C8T6的CustomHID和MSC USB设备进行复合,EP0用于枚举 ,EP1用于键盘设备,EP2用于鼠标设备(支持绝对模式和相对模式),EP3用于MSC设备(配有官方demo版本和FAT16版本(默认)),以上全部为双端口。 正常情况下,键鼠设备可以共用一个接口,利用报告ID作为前缀,发送不同的report到主机上。但是这种情况下,报告描述符是写在同一个数组内的,当遇到某些主机(如IBM的AIX7系统)枚举阶段是boot启动模式时,并不会启动报告描述符的请求,那么键鼠均不能用,因此键鼠需要分配不同的接口(interface)。 本文虽然以CUSTOMHID和MSC为复合对象,但是也可为其他复合设备,其他型号的单片机提供参考,如F1 F4 F0 等单片机的HID+MSC,CDC+MSC,HID+CDC等,双复合,甚至是三复合均可。
2021-08-03 09:41:25 22.53MB STM32 USB CUSTOMHID MSC
1
采用两个接口,一个接口又分为两个端口, IN和OUT 采用CUSTOM HID的官方例子进行复合,CUSTOM HID对底层的处理更加细致,可以处理主机的set_report请求,防止某些主机接收到stall而导致枚举不成功
2021-05-11 22:04:33 15.97MB usb stm32 hid customhid
1