【问题标题】:Python and Hidapi: argument error when trying to write a usb devicePython 和 Hidapi:尝试编写 USB 设备时出现参数错误
【发布时间】:2021-07-08 13:22:57
【问题描述】:

我正在使用 python 3.9.6 来管理一个隐藏的中继板enter image description here

我可以使用 enumerate 命令读取主板的供应商 ID 1305 和产品 ID 8216,然后我尝试了一些命令:

>>> device = hid.Device(1305,8216)
>>> device.manufacturer
'Ucreatefun.com'
>>> device.product
'HIDRelay'
>>> device.serial
'A0001'

现在我想使用“device.write”管理板上的继电器,我该怎么做? 来自继电器板手册:

“通道1打开:0x00 0xf1,关闭:0x00 0x01”

不幸的是它不起作用,当我尝试这个时:

>>> device.write([0x00,0xF1])
Traceback (most recent call last):
File "<pyshell#61>", line 1, in <module>
device.write([0x00,0xF1])
File 
"C:\Users\trevisan\AppData\Local\Programs\Python\Python39\lib\site- 
packages\hid\__init__.py", line 155, in write
return self.__hidcall(hidapi.hid_write, self.__dev, data, len(data))
File 
"C:\Users\trevisan\AppData\Local\Programs\Python\Python39\lib\site- 
packages\hid\__init__.py", line 142, in __hidcall
ret = function(*args, **kwargs)
ctypes.ArgumentError: argument 2: <class 'TypeError'>: wrong type
>>> 

当我在 device.write 方法中传递一个列表时,为什么 python 会引发类型错误?

非常感谢! 最大

【问题讨论】:

  • 到目前为止你做了什么。有很多关于这个的线程也许其中一个可以帮助?只是一个例子:stackoverflow.com/questions/65705541/…
  • 当我使用 "device.write([0x00,0xF1])" 时,python 会引发 "TypeError",是 write 方法的参数有问题吗?

标签: python usb hid hidapi


【解决方案1】:

我使用类字节解决了:

>>> device.write(bytes([0x00,0xf1]))

我很高兴! 最大

【讨论】:

    猜你喜欢
    • 2019-02-23
    • 2022-06-29
    • 2015-05-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多