在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)
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top