与pyserial二进制数据(蟒蛇串口)
-
19-08-2019 - |
题
在pyserial
serial.write()方法似乎只发送字符串数据。我有一个像[0xc0,0x04,0x00]数组,并希望能够通过串口发送/接收呢?是否有原始I任何单独的方法/ O 2
我想我可能需要将阵列更改为[“\ XC0”,“\ X04”,“\ X00”],仍然,空字符可能会带来问题。
解决方案
您需要将数据转换为字符串
"\xc0\x04\x00"
空字符不是在Python一个问题 - 字符串不是空终止字节零行为就像另一个字节"\x00"
这样做的一种方式:
>>> import array
>>> array.array('B', [0xc0, 0x04, 0x00]).tostring()
'\xc0\x04\x00'
其他提示
的另一种方法,在不使用array
模块:
def a2s(arr):
""" Array of integer byte values --> binary string
"""
return ''.join(chr(b) for b in arr)
不隶属于 StackOverflow