你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

[STM32F072 Nucleo]开发笔记(三) 修改USB代码用于游戏方向盘

[复制链接]
zww 提问时间:2014-12-10 23:21 /
修改USB代码用于游戏方向盘首先要做的就是修改位于usbd_hid.c文件中的HID报告描述符,如下图
QQ截图20141210225206.jpg
改好后为了测试数据是否能发送到电脑因此用板子上的user b1按钮模拟方向盘的转向,按下时为左转,弹起时回中点。判断按键状态用了中断方式,在中断处理函数中通过USBD_HID_SendReport函数发送报告数据。如下图
QQ截图20141210224931.jpg
完成后编译运行,然后插上USB数据线
电脑成功识别了游戏控制器,如下图所示

QQ截图20141210225243.jpg
进入游戏控制器设置程序能发现各个轴和16个按键
QQ截图20141210225330.jpg
通过USBTrace抓包工具可以发现按下和松开按钮时能电脑能正常收到板子的报告数据
QQ截图20141210230532.jpg
由此USB部分修改基本满足要求,接下来要做的就是扩展方向盘的硬件部分并把各个轴和按钮的数据报告给电脑。


附上源码:
Nucleo_F072RB.rar (9.05 MB, 下载次数: 270)
收藏 3 评论18 发布时间:2014-12-10 23:21

举报

18个回答
zww 回答时间:2014-12-11 18:15:09
本帖最后由 king-388328 于 2014-12-11 18:23 编辑
Dylan疾风闪电 发表于 2014-12-11 10:23
一直想做一个鼠标+键盘的USB设备,苦于HID报告描述符不知道怎么定义?LZ有什么软件推荐下么,解决我的难题 ...

可参照这个鼠标+键盘复合设备的例子,也就是定义两个接口。
STM32_USB_复合设备.rar (75.28 KB, 下载次数: 62)
党国特派员 回答时间:2015-2-1 16:19:41
果然是很好的贴子。。。 nothing.png nothing.png nothing.png nothing.png nothing.png nothing.png nothing.png nothing.png nothing.png nothing.png
沐紫 回答时间:2014-12-11 10:17:56
好贴必须顶
Dylan疾风闪电 回答时间:2014-12-11 10:23:31
一直想做一个鼠标+键盘的USB设备,苦于HID报告描述符不知道怎么定义?LZ有什么软件推荐下么,解决我的难题。
Dylan疾风闪电 回答时间:2014-12-12 08:32:45
非常感谢LZ,等有空了再来研究一下复合设备和单个设备之前有什么异同。
wamcncn 回答时间:2014-12-25 20:33:51
好帖必须顶
星辰一方 回答时间:2015-2-1 13:06:25
不错,感谢分享!
木木鱼 回答时间:2015-2-5 09:13:43
这个类型的产品,我在北京参加比赛时见过,用两个类似手表状的控制器来遥控,一直不知道是怎么做出来的,而且还是STC15系列做的,看完这篇,有点感觉。
wz002 回答时间:2015-2-6 00:13:02
高端
我爱下载 回答时间:2015-2-6 08:08:17
很好收了
deadgod2012 回答时间:2015-2-6 09:01:35
好东西
deadgod2012 回答时间:2015-2-6 09:02:02
果然是很好的贴子。。。  




果然是很好的贴子。。。  












Veiko 回答时间:2015-2-7 22:06:37
HID设备是个好东西,不用写驱动,呵呵,不过上位机得写一下
_ilikerome_ 回答时间:2015-2-8 10:18:44
LZ这个系列不错啊,跟着LZ学习了。
12下一页
关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新和工艺
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版