• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >嵌入式开发 > 用stm32模仿Joystick自制usb接口的HID六轴24按键游戏摇杆,貌似快成功了……

用stm32模仿Joystick自制usb接口的HID六轴24按键游戏摇杆,貌似快成功了……

作者:佚名 字体:[增加 减小] 来源:互联网 时间:2017-06-05

佚名通过本文主要向大家介绍了用stm32模仿Joystick自制usb接口的HID六轴24按键游戏摇杆,貌似快成功了……等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
问题: 用stm32模仿Joystick自制usb接口的HID六轴24按键游戏摇杆,貌似快成功了……
描述:

本帖最后由 Scorpio_B 于 2015-02-03 10:24:56 编辑

usbstm32游戏摇杆HID

发现市面上卖的汽车方向盘、飞行摇杆其实协议和鼠标键盘都是HID设备,正巧前一阵子自己用stm32将官方的joystick例程改成了可以用电位器控制移动速度的鼠标、可用按钮控制的小键盘,于是想着自己做一个类似于fly5(图示)飞行摇杆。做了很久,stm32的usb接口报告描述符总是出错,于是从网上下载一个前辈做好的游戏手柄,各种描述符通过了,奈何电脑无法识别从stm32发送过来的量。
下图是我用stm32烧写进自己改过的程序后连接电脑显示的,可以看到电脑可以识别为游戏操纵杆了:
 用stm32模仿Joystick自制usb接口的HID六轴24按键游戏摇杆,貌似快成功了……
打开属性后,六个轴和24个按键都显示出来了,觉得报告描述符应该没问题。后面不管我怎么按下各种按键,对应的按钮或者轴都没有反应。我担心是GPIO口没控制好,于是直接每轮循环都是如下设置,就是说不按下按钮也该识别出来了:
 sendbuf[3] |= 0x08;
 USB_WriteEP(0x81,sendbuf,6); 
结果还是不行:
 用stm32模仿Joystick自制usb接口的HID六轴24按键游戏摇杆,貌似快成功了……
用bus hound来看,数据确实发到电脑上了,只是上位机软件识别不了,此时我觉得可能是我发送的数据不是通用格式,有可能是“USB_WriteEP(0x81,sendbuf,6)”这个模块有问题。
然后我撤下我的stm32板子换上现成的游戏摇杆:
 用stm32模仿Joystick自制usb接口的HID六轴24按键游戏摇杆,貌似快成功了……
可以识别并能够正常通信了,按下按钮,晃动摇杆,都可以显示:
 用stm32模仿Joystick自制usb接口的HID六轴24按键游戏摇杆,貌似快成功了……
真的不知道怎么办了,请大家给点思路吧。最后附上源码及下载地址(未经过我修改的)
pudn程序员联合开发网下载地址:
http://www.pudn.com/downloads542/sourcecode/embedded/detail2238611.html
csdn下载:
http://download.csdn.net/download/gezi0/5357395


分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • 用stm32模仿Joystick自制usb接口的HID六轴24按键游戏摇杆,貌似快成功了……

相关文章

  • 2017-06-05 线程及代码执行过程
  • 2017-06-05 函数指针赋值和字符设备驱动函数为啥能给函数赋值?
  • 2017-06-05 windriver开发altera驱动,windriver提供的例程可以直接用吗
  • 2017-06-05 如何在98下用vxd实现,某W32程序在1分钟内不与Vxd联系时,就关机?
  • 2017-06-05 SD卡初始化中响应超时问题
  • 2017-06-05 WIN10DEVCON64失败
  • 2017-06-05 lua中脚本之间的调用
  • 2017-06-05 同一个型号的机器人DH参数是一定的吗?
  • 2017-06-17ARM和Thumb状态
  • 2017-06-05 vxworks68使用shell命令sysReboot会有延迟

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • Warning:StackpointerissetuptoincorrectalignmentStackaddr=0xAAAAAAAA
    • 关于SRIO交换机访问的问题
    • 如何实现类似COMLPT等自定义的设备名称呢
    • 智能硬件智能硬件
    • WinME下怎么安装驱动?象2K,XP下调用UpdateDriverForPlugAndPlayDevices那样~!
    • EFM32进入EM2后耗电很大
    • STM32F429IAP+AppRTXkernel无法跳转到APP的问题
    • 关于/dev/mtd设备
    • 对Luatable存储过程不太理解
    • windows资源管理器老重启windows下重置tcp/ip协议出现问题

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有