修改USB代码用于游戏方向盘首先要做的就是修改位于usbd_hid.c文件中的HID报告描述符,如下图 改好后为了测试数据是否能发送到电脑因此用板子上的user b1按钮模拟方向盘的转向,按下时为左转,弹起时回中点。判断按键状态用了中断方式,在中断处理函数中通过USBD_HID_SendReport函数发送报告数据。如下图 完成后编译运行,然后插上USB数据线 电脑成功识别了游戏控制器,如下图所示 进入游戏控制器设置程序能发现各个轴和16个按键 通过USBTrace抓包工具可以发现按下和松开按钮时能电脑能正常收到板子的报告数据 由此USB部分修改基本满足要求,接下来要做的就是扩展方向盘的硬件部分并把各个轴和按钮的数据报告给电脑。 附上源码: |
【MCU实战经验】STM32F030芯片极限超频测试
【STM32F0开发日志】+STM32F030 修改官方提供的例程
【Nucleo STM32F767ZI】 STM32CubeMX + USB读取U盘文件例程
【stm32F429开发日志】使用STM32CubeMX配置STM32F429_USB_HID
【STM32F030开发日志/评测/笔记】+(2)STM32F0处理器I2C实例(...
STM32F030F4核心板自己整理的几个程序可以当模板参考(Keil MDK...
【F769IDISCOVERY评测】高速USB VCP和全速USB VCP 速度对比
【NUCLEO-L496ZG评测】STM32CubeMX+内部RAM模拟U盘 USB DEVICE MSC的实现
CubeMX之STM32F0 UART DMA接收的bug
【STM32F0开发日志】STM32F030 TIM3 4路PWM 输出
可参照这个鼠标+键盘复合设备的例子,也就是定义两个接口。
也可自己生成HID报告描述符,官方有相应工具:
果然是很好的贴子。。。