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 配置,省事不少。
110.02KB
文件大小:
评论区