使用pyusb与usb设备通信

2024-05-20 05:28:08 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在使用一个名为pyUSBversion 1.6的模块,并试图与传感器通信。

我已经建立了连接,可以从传感器上的ROM读取数据。传感器在连接时具有主/从关系,因此我需要向传感器发送消息以接收所需的数据。

现在,write函数只能接受字符串或只读缓冲区。我需要给USB设备发送十六进制字节0xFE0x040x000x030x000x010xD50xC5
我不确定如何将其编码为字符串或只读缓冲区。

下面是如何调用write方法的。这是他们提供的示例代码。

# write bytes (serial mode)

print h.write('Hello world!\r\n")

如何传输十六进制字节?


Tags: 模块数据函数字符串消息编码字节关系
1条回答
网友
1楼 · 发布于 2024-05-20 05:28:08
byte_ints = [0xFE, 0x04, 0x00, 0x03, 0x00, 0x01, 0xD5, 0xC5] # Python recognises these as hex.
byte_str = "".join(chr(n) for n in byte_ints)

或者,您可以在字符串中的每对十六进制数字之前加上x:

'\xfe\x04\x00\x03\x00\x01\xd5\xc5'

在Python 3中,需要:

b'\xfe\x04\x00\x03\x00\x01\xd5\xc5'

(即bytestring,而不是unicode)

相关问题 更多 >