【发布时间】: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 方法的参数有问题吗?