打印
[USB编程]

请高手指导USB HID设备发送数据问题.

[复制链接]
1043|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
本帖最后由 qq302011 于 2020-7-11 10:27 编辑

我买了一个无线手柄, 通过无线手柄控制我的软件的一些按键操作,手柄是一个HID设备,因此不需要驱动,我直接使用HID的 c#编程方法控制手柄.   通过readfile 可以读取到手柄的按键输入.但是 原手柄有一个配套软件,可以发送给手柄当前的一个状态,用于手柄上对应LED的显示.现在问题来了,无论我使用那种方式发送数据都无法把数据发送过去.我用USB BUS HOUND监控,没搞清楚原生软件发送的数据,于是换了个监控软件能得到发送的数据格式,但是不知道这个数据是使用什么方式发送出去的? 在WINDOW中我该调用哪个函数 能够发出去?  求高手指导哈.万谢.   从图中可以看出 接收是使用的 URB_FUNCTION_BULK_OR_INTERRUPT_TRANSFER,而发送是用的URB_FUNCTION_CLASS_INTERFACE, 我觉得这两种传输方式应该是不一样的,问题是发送该使用那个函数才能把数据发过去,数据格式应该是多少?我自己使用 HidD_SetFeature HidD_SetOutputReport等函数都没成功,直接发送也没有成功,我用这个软件监控确实没有数据发过去. 再次请高手指导,应该如何发数据哈?

捕获USB.PNG (25.71 KB )

USB数据捕获,蓝色为设备传到电脑,黑色为电脑输出到设备

USB数据捕获,蓝色为设备传到电脑,黑色为电脑输出到设备

无标题.png (176.04 KB )

无标题.png

使用特权

评论回复

相关帖子

沙发
li880wert| | 2020-8-4 17:50 | 只看该作者
一个是控制传输,主要是走USB协议的,当然也可以走你自己定的协议,一种就是正常的数据传输了,所以你想控制LED 灯,必须走另一种传输,C#我不知道怎么写,C++还是好写的

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

8

主题

55

帖子

1

粉丝