我正在使用一个名为pyUSB v1.6的模块,并尝试与传感器通信。
我已经建立了连接,可以从传感器上的ROM中读取。连接后的传感器具有主/从关系,因此我需要向传感器发送消息以接收所需的数据。
现在,write函数只能接受字符串或只读缓冲区。我需要向USB设备发送十六进制字节0xFE、0x04、0x00、0x03、0x00、0x01、0xD5、0xC5。
我不确定如何将其编码为字符串或只读缓冲区。
下面是调用write方法的方法。这是他们提供的示例代码。
# write bytes (serial mode)
print h.write('Hello world!\r\n")如何传输十六进制字节?
发布于 2011-06-16 01:47:43
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'(即字节串,而不是unicode)
https://stackoverflow.com/questions/6361261
复制相似问题