网页资讯视频图片知道文库贴吧地图采购
进入贴吧全吧搜索

 
 
 
日一二三四五六
       
       
       
       
       
       

签到排名:今日本吧第个签到,

本吧因你更精彩,明天继续来努力!

本吧签到人数:0

一键签到
成为超级会员,使用一键签到
一键签到
本月漏签0次!
0
成为超级会员,赠送8张补签卡
如何使用?
点击日历上漏签日期,即可进行补签。
连续签到:天  累计签到:天
0
超级会员单次开通12个月以上,赠送连续签到卡3张
使用连续签到卡
10月13日漏签0天
stm32吧 关注:49,663贴子:149,490
  • 看贴

  • 图片

  • 吧主推荐

  • 游戏

  • 11回复贴,共1页
<<返回stm32吧
>0< 加载中...

代码如何控制gamepad按键?

  • 只看楼主
  • 收藏

  • 回复
  • 西亚迪
  • 崭露头角
    2
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
做了个USB能识别到游戏控制器的程序
结果发送USB命令的时候 不知道如何直接控制按钮了
现在是不管发什么命令 按钮都是会亮起一个
1
12
123
1234
12345
然后最后一个常亮这种状态


这是已经识别到的状态 图2是235亮了 再发一次命令 123都会亮 然后4再亮 然后再1234
这样一直向后循环



这是循环的代码和HID配置
其实需求很简单 就是个6个按钮的控制器 按哪个 哪个能有相应的反应就行了
求指点


  • 滑稽-滑稽
  • 富有美誉
    9
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
好像用的是官方的hid库,那么应该关注一下In1_Process(),或者其它InProcess函数,然后关注stm32f10x_it.c这个文件下的按键中断(外部中断),一般是中断内把按键状态写入缓存区,等待usb主机根据读取的配置描述符按时发送in令牌包,会自动将缓存区的内容发送给主机


2026-10-13 23:10:48
广告
不感兴趣
开通SVIP免广告
  • 不是我那我是
  • 小有美名
    5
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
报告有没有清零或重置


  • 不是我那我是
  • 小有美名
    5
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
数据包是8位,0000 0000 按键按下了1就扫描到电平,得到数据包的值是0000 0001 按键扫描结束,发送打包好的发送,之后要把对应的数据包清零,进行下一次按键扫描,如没1松开了,2按下,才会有有0000 0010,不清零会数据包就是 0000 0011 但1是没有按下


登录百度账号

扫二维码下载贴吧客户端

下载贴吧APP
看高清直播、视频!
  • 贴吧页面意见反馈
  • 违规贴吧举报反馈通道
  • 贴吧违规信息处理公示
  • 11回复贴,共1页
<<返回stm32吧
分享到:
©2026 Baidu贴吧协议|隐私政策|吧主制度|意见反馈|网络谣言警示