我使用的是Raspberry Pi 4,有一个通过USB连接的HID设备,显示为/dev/hidraw0
。
(如果你好奇的话:这是一个HP素数计算器。)
我需要向设备发送两个字节,并期望设备以未知大小的ByTestStream进行应答。它不是一个恒定的大小,它的长度是不同的
第一个问题第一:我似乎无法准确地向设备发送两个字节。这是我的代码:
import os, sys
fd = os.open("/dev/hidraw0", os.O_RDWR|os.O_NONBLOCK)
bytesWritten = os.write(fd, bytes([252, 8]))
print('bytes written: ' + str(bytesWritten))
这将打印出:
bytes written: 8
为什么我只指定了两个字节,却写了8个字节?这是怎么回事
第二个问题:在第一次测试中,我想通过以下方式从设备读取恒定数量的字节:
answer = os.read(fd, 20)
这将导致错误
OSError: [Errno 11] Resource temporarily unavailable
有什么基本的建议吗?还是取决于HID协议在设备端的实现方式
非常感谢
目前没有回答
相关问题 更多 >
编程相关推荐