更新
我设法正确发送数据。对于遇到同样问题的人,我使用了以下代码:
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]
我对 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)