pyserial中的serial.write()方法似乎只发送字符串数据.我有像[0xc0,0x04,0x00]这样的数组,并希望能够通过串口发送/接收它们吗?原始I/O有什么单独的方法吗?
我想我可能需要将数组更改为['\ xc0','\ x04','\ x00'],仍然,null字符可能会造成问题.
另一种方法,不使用array
模块:
def a2s(arr): """ Array of integer byte values --> binary string """ return ''.join(chr(b) for b in arr)
您需要将数据转换为字符串
"\xc0\x04\x00"
空字符在Python中不是问题 - 字符串不是空终止的,零字节的行为就像另一个字节"\x00"
.
一种方法:
>>> import array >>> array.array('B', [0xc0, 0x04, 0x00]).tostring() '\xc0\x04\x00'