WCH沁恒单片机
登录
直播中
王浩
8年用户
1417经验值
私信
关注
[问答]
求助,求USB使用Set Report和Get Report的实现教程
开启该帖子的消息推送
协议
求USB使用Set Report和Get Report的实现教程
回帖
(1)
简白伊
2022-9-23 10:11:08
首先,从协议中截取这两个标准请求的结构:
Get Report
Set Report
以CH554EVT中的CompatibilityHID.C例程为例,处理USB请求的部分:
因为是HID class特有的请求,所以会放在非标准请求中处理,例程已经将两个请求的case写在代码里面了,此时芯片能够正确应答请求。
其中Get Report的数据阶段方向是Device->Host,所以代码上的实现和标准请求中设备、配置描述符的上传一样,将pDsecr指针指向需要传输的数据,正确的给len赋值长度即可。
Set Report的数据阶段方向是Host->Device,可以看到case 0x09中没有任何实质性的处理,因为OUT事务,作为设备只有等着主机下发,只要我们确保芯片对于EP0上的OUT事务响应状态为ACK就好。
真正处理Set Report的数据阶段在EP0的OUT事务完成中断中:
可以看到程序默认这个case里面有一些东西,我们只关注框中的if条件。因为所有EP0上的OUT事务,都会进入这里,所以需要加一下判断,当前进入这个case是属于Set Report请求的数据阶段。通过判断SetupReq这个全局变量,看一下定义和使用,不难理清他的工作原理。
此时USB_RX_LEN寄存器的值代表数据阶段的数据长度,数据本身存放在Ep0Buffer数组中,按照长度读取出来就可以了。
首先,从协议中截取这两个标准请求的结构:
Get Report
Set Report
以CH554EVT中的CompatibilityHID.C例程为例,处理USB请求的部分:
因为是HID class特有的请求,所以会放在非标准请求中处理,例程已经将两个请求的case写在代码里面了,此时芯片能够正确应答请求。
其中Get Report的数据阶段方向是Device->Host,所以代码上的实现和标准请求中设备、配置描述符的上传一样,将pDsecr指针指向需要传输的数据,正确的给len赋值长度即可。
Set Report的数据阶段方向是Host->Device,可以看到case 0x09中没有任何实质性的处理,因为OUT事务,作为设备只有等着主机下发,只要我们确保芯片对于EP0上的OUT事务响应状态为ACK就好。
真正处理Set Report的数据阶段在EP0的OUT事务完成中断中:
可以看到程序默认这个case里面有一些东西,我们只关注框中的if条件。因为所有EP0上的OUT事务,都会进入这里,所以需要加一下判断,当前进入这个case是属于Set Report请求的数据阶段。通过判断SetupReq这个全局变量,看一下定义和使用,不难理清他的工作原理。
此时USB_RX_LEN寄存器的值代表数据阶段的数据长度,数据本身存放在Ep0Buffer数组中,按照长度读取出来就可以了。
举报
更多回帖
rotate(-90deg);
回复
相关问答
协议
cypress的
USB
枚举
get_report
2013-01-21
2338
求
report
generation toolkit2011版
2012-04-01
2079
如何通过
report
_utiliztion获得切片比率?
2018-10-18
1309
什么是UVM
Report
机制?
2020-12-21
1547
NUC505
USB
报告描述符设置了
Report
ID后只能生产一次中断怎么解决?
2023-08-28
551
NUC505USBD设置为全速模式,主机发送
SET
Report
”命令无法检测的解决办法?
2020-11-25
1294
急
求
LabVIEW2012
Report
Generation Toolkit for Microsoft Office的激活方法
2014-01-16
3538
当NUC505USBD设置为全速模式,主机发送“
SET
Report
”命令但NUC505未正常检测的解决办法
2020-12-08
991
求
Report
Generation Toolkit 1.1.2 1.1.1和1.1.3已有
2014-04-15
1789
当NUC505 USBD设置为全速模式,主机发送“
SET
REPORT
”命令但未正常检测到 NUC505 该怎么办?
2025-08-27
145
发帖
登录/注册
20万+
工程师都在用,
免费
PCB检查工具
无需安装、支持浏览器和手机在线查看、实时共享
查看
点击登录
登录更多精彩功能!
首页
论坛版块
小组
免费开发板试用
ebook
直播
搜索
登录
×
20
完善资料,
赚取积分