STM32RBT6USB复合设备HID鼠标键盘双接口

STM32 RBT6 的 USB 复合设备做得蛮有意思的。一个芯片,同时模拟HID 鼠标HID 键盘,两个 Interface 独立,插电脑就能直接识别。这种设计在做一些人机交互类的小工具时实用,比如做个简易的演示器,前一个按钮控制鼠标移动,后一个按钮输入快捷键。

STM32 自带USB OTG,不用额外芯片,直接上。全速模式跑起来也挺稳,响应也快。搞定配置后,主要是把设备符HID 报告符写好,鼠标和键盘各一套,结构要清晰,不然主机会识别出错。

USB 事务这块有点绕,建议用中断方式写usb_istr.c,逻辑清晰,还方便调试。你可以把鼠标模拟放一个状态机里,键盘一个队列控制,两个互不干扰,协作还不错。记得别把两个接口写到同一个 Interface 里,Windows 有时候认不出。

整个项目练下来,对USB 协议STM32 固件库、还有C 语言嵌入式开发都会有更深的理解。烧进去后接电脑测一下,能动就你的符基本对了,接下来就是优化数据收发、调试中断响应这些细节。

如果你打算搞 USB 相关开发,这个例子适合作为练手项目。要想进一步深入,可以看看下面这几个相关资源:

如果你用的是 Keil 或 STM32CubeMX,也建议用它们生成初始 USB 配置,省事不少。

zip 文件大小:110.02KB