OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 5055|回复: 2

STM32F407做USB主机,插入设备后只能读取部分键值

[复制链接]

3

主题

10

帖子

0

精华

初级会员

Rank: 2

积分
51
金钱
51
注册时间
2019-4-26
在线时间
15 小时
发表于 2021-4-12 11:02:02 | 显示全部楼层 |阅读模式
5金钱
本帖最后由 kevin0825 于 2021-4-12 14:15 编辑

请问该如何配置才能让STM32识别出所有按键呢?
是这样的,我用STM32F407ZGT6做USB主机,然后插上这种遥控接收器,结果发现电源键、HOME键(切换键)、音量加减键按了没反应,其他的例如方向键、OK键才有效。
用bus hound抓包是可以抓到所有的键值的,有的是8字节,有的是3字节。

remote.jpg


下面是bus Hound软件显示的设备列表,捕捉第1个时,可以读到方向键、OK键、菜单键、返回键的键值;捕捉第2个时,可以读到电源键、HOME键(切换键)、音量加减键的键值。
printscreen.png


最佳答案

查看完整内容[请看2#楼]

问题:USB遥控接收器被枚举为keyboard后,只能捕捉“上”、“下”、“左”、“右”、“OK”、“菜单”、“返回”等按键事件 解决:通过Bus Hound软件抓包发现,该接收器总共有2个Interface,上述普通键值是通过keyboard传入的,其他特殊键值(如“POWER”、“HOME”、“音量减”、“音量加”)则是通过mouse传入。由于USB HOST官方库只会对一个Interface进行处理, 要么keyboard要么mouse,所以必须对USB Host库进行修改,使其能同 ...
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

3

主题

10

帖子

0

精华

初级会员

Rank: 2

积分
51
金钱
51
注册时间
2019-4-26
在线时间
15 小时
 楼主| 发表于 2021-4-12 11:02:03 | 显示全部楼层
问题:USB遥控接收器被枚举为keyboard后,只能捕捉“上”、“下”、“左”、“右”、“OK”、“菜单”、“返回”等按键事件
解决:通过Bus Hound软件抓包发现,该接收器总共有2个Interface,上述普通键值是通过keyboard传入的,其他特殊键值(如“POWER”、“HOME”、“音量减”、“音量加”)则是通过mouse传入。由于USB HOST官方库只会对一个Interface进行处理, 要么keyboard要么mouse,所以必须对USB Host库进行修改,使其能同时兼容这2个Interface。
参考:https://blog.csdn.net/kukeqq/article/details/107113376
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165377
金钱
165377
注册时间
2010-12-1
在线时间
2111 小时
发表于 2021-4-14 01:57:55 | 显示全部楼层
分析原始数据,根据数据变化做不同解析
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-2-28 03:55

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表