小编xqu*_*itz的帖子

使用 PyUSB 发送 HID 报告


更新


我设法正确发送数据。对于遇到同样问题的人,我使用了以下代码:

data=[0x00, 0x04, 0x04, 0xFF, 0xFF, 0xFF, 0x00, 0x00]
result=dev.ctrl_transfer(0x21, 0x9, wValue=0x200, wIndex=0x00, data_or_wLength=data)
Run Code Online (Sandbox Code Playgroud)

(这是基于此处发布的答案:链接

但我不明白,为什么我必须使用

bmRequestType=0x21
bRequest=0x9
wValue=0x200
Run Code Online (Sandbox Code Playgroud)

解释是什么?


初始请求:


我拼命地尝试使用 PyUSB 向 HID 设备发送一个简单的报告。

使用“SimpleHIDwrite”我确认设备按预期工作。我想发送这个数据:

报告编号:00

数据:[00, 04, 04, FF, FF, FF, 00, 00]

使用 SimpleHIDwrite 发送数据

我对 Python 和 USB 很陌生,我无法弄清楚如何使用 dev.ctrl_transfer 或 dev.write 来做到这一点。

此外,还有一些关于将数据发送到 HID 设备的帖子,但我不知道如何解决我的问题。我该如何解决?

以下是更多详细信息:

 # Based on https://github.com/walac/pyusb/blob/master/docs/tutorial.rst

import usb.core
import usb.util

# Find our device
# dev = usb.core.find(idVendor=0xfffe, idProduct=0x0001)
dev = usb.core.find(idVendor=0x1781, idProduct=0x8c0)


# Was it found? …
Run Code Online (Sandbox Code Playgroud)

python windows usb hid pyusb

4
推荐指数
2
解决办法
1万
查看次数

标签 统计

hid ×1

python ×1

pyusb ×1

usb ×1

windows ×1