OpenEdv-开源电子网

 找回密码
 立即注册

扫一扫,访问微社区

正点原子新作:阿波罗STM32F767&F429&探索者STM32F4开发板&赶快来下载资料哦。

查看: 482|回复: 1

使用CH375B的USB-HOST模式连接游戏手柄

[复制链接]

  离线 

5

主题

14

帖子

0

精华

高级会员

Rank: 4

积分
828
金钱
828
注册时间
2016-9-12
在线时间
95 小时
发表于 2017-2-2 13:21:28 | 显示全部楼层 |阅读模式
正点原子公众号
平台:ATMEGA128A,11.0592Mhz,在IAR上调试通过。
连接线:
// AVR-->CH375
// PA0~PA7: D0~D7, PG1: RD#, PG0: WR#, PD3: INT#, PC0: A0, PD6: CS#, PD7: RST  
使用串口0输出按键状态

352707558060499067.jpg

调试中抓取各种描述符:

设备描述符:
设备描述符.jpg

配置描述符:
配置描述符.jpg

接口描述符:
接口描述符.jpg

端点描述符:
端点描述符.jpg

HID描述符:
HID描述符.jpg

HID报告描述符:先从串口输出,然后用这个工具手工翻译这个101字节的数据……
HID报告描述符.png

枚举成功后,每隔1秒读取键值(按键有变化):
7F 7F 81 7F 7F 0F 00 C0
7F 7F 81 7F 7F 0F 00 C0
7F 7F 7F 7F 7F 0F 00 C0
7F 7F 80 7F 7F 0F 00 C0
7F 7F 81 7F 7F 0F 00 C0
7F 7F 80 7F 7F 1F 00 C0
7F 7F 80 7F 7F 2F 00 C0
7F 7F 80 7F 7F 4F 00 C0
7F 7F 81 7F 7F 8F 00 C0
7F 7F 7F 7F 7F 0F 08 C0
7F 7F 80 7F 7F 0F 02 C0
7F 7F 81 7F 7F 0F 01 C0
7F 7F 80 7F 7F 0F 04 C0
7F 7F 80 7F 7F 0F 08 C0
7F FF 80 7F 7F 0F 00 C0
7F 00 80 7F 7F 0F 00 C0
00 7F 00 7F 7F 0F 00 C0
FF 7F FF 7F 7F 0F 00 C0
7F 7F 81 7F 7F 2F 00 C0
7F 7F 8A 7F 7F 8F 00 C0
7F 7F 8A 7F 7F 8F 00 C0
7F 7F 81 7F 7F 0F 00 C0
7F 7F 80 7F 7F 0F 00 C0
7F 7F 7F 7F 7F 0F 00 C0


心得:CH375B本身具备64字节的缓冲区,集成一些简化命令,方便一次获取设备描述符和配置描述符(包括接口和端点),但对于HID报告描述符需要自己处理。调试的难点在于对USB协议的理解,建议参看《圈圈教你玩USB(第2版)》和《HID设备类定义中文版》,请自行学习,我不解释,我也不懂。

吐槽:CH375B的接口速度是us级,我本来用AVR的外部总线控制的,但是很不稳定,现在用并口模拟时序好多了。


源代码:仅供参考学习……
SRC.rar (15.83 KB, 下载次数: 130)
回复

使用道具 举报

  离线 

4

主题

25

帖子

0

精华

初级会员

Rank: 2

积分
101
金钱
101
注册时间
2016-2-24
在线时间
27 小时
发表于 2017-10-31 16:07:08 | 显示全部楼层
回复 支持 反对

使用道具 举报

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

本版积分规则




QQ|联系我们|手机版|官方淘宝店|新浪微博|微信公众平台|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2018-1-23 08:02

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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