使用pyusb与USB设备通信
我正在使用名为 pyUSB 版本 1.6 的模块,并尝试与传感器进行通信。
我已经设置了连接并且可以从传感器上的 ROM 读取数据。连接后,传感器具有主/从关系,因此我需要向传感器发送消息以接收我需要的数据。
现在,write
函数只能接受字符串或只读缓冲区。我需要向 USB 设备发送十六进制字节 0xFE
、0x04
、0x00
、0x03
、0x00
、0x01
、0xD5
、0xC5
。
我不确定如何将其编码为字符串或只读缓冲区。
以下是调用 write 方法的方法。这是他们提供的示例代码。
# write bytes (serial mode)
print h.write('Hello world!\r\n")
我将如何传输十六进制字节?
I am using a module called pyUSB version 1.6 and am trying to communicate with a sensor.
I have set up the connection and can read from the ROM on the sensor. The sensor, when connected, has a master/slave relationship so I need to send a message to the sensor to receive the data I need.
Now, the write
function can only accept a string or read-only buffer. I need to send the USB device the hexadecimal bytes 0xFE
, 0x04
, 0x00
, 0x03
, 0x00
, 0x01
, 0xD5
, 0xC5
.
I'm unsure how to encode that as a string or read-only buffer.
Here is how one calls the write method. This is the sample code they provide.
# write bytes (serial mode)
print h.write('Hello world!\r\n")
How would I transfer the hexadecimal bytes?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
或者,您可以在字符串中的每对十六进制数字之前放置 \x:
在 Python 3 中,需要是:(
即字节字符串,而不是 unicode)
Alternatively, you can just put \x before each pair of hex digits in a string:
In Python 3, that needs to be:
(i.e. a bytestring, not unicode)