当前位置:  开发笔记 > 编程语言 > 正文

pyserial的二进制数据(python串口)

如何解决《pyserial的二进制数据(python串口)》经验,为你挑选了2个好方法。

pyserial中的serial.write()方法似乎只发送字符串数据.我有像[0xc0,0x04,0x00]这样的数组,并希望能够通过串口发送/接收它们吗?原始I/O有什么单独的方法吗?

我想我可能需要将数组更改为['\ xc0','\ x04','\ x00'],仍然,null字符可能会造成问题.



1> Eli Bendersk..:

另一种方法,不使用array模块:

def a2s(arr):
    """ Array of integer byte values --> binary string
    """
    return ''.join(chr(b) for b in arr)



2> dF...:

您需要将数据转换为字符串

"\xc0\x04\x00"

空字符在Python中不是问题 - 字符串不是空终止的,零字节的行为就像另一个字节"\x00".

一种方法:

>>> import array
>>> array.array('B', [0xc0, 0x04, 0x00]).tostring()
'\xc0\x04\x00'

推荐阅读
跟我搞对象吧
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有