Python 串口操作 - Spencer_Rasp

python

Python 串口操作

import serial : 串口操作的方法和属性

import serial.tools.list_ports:查找串口

a = serial.tools.list_ports.comports()

为所有的串口分别生成ListPortInfo object,列表封装

a[0]即得到第一个串口的参数,这个object可以像列表、元组那样访问,应该是个迭代器,print(a[0])或者list(a[0])

得到串口的详细信息:COM8 - ELTIMA Virtual Serial Port (COM8->COM9)

grep(regexp, include_links=False),该方法查找指定串口,按照正则表达式的方式,

b = (serial.tools.list_ports.grep(\'.*8\'))得到一个生成器

c = list(b),得到与comports()一样的结构, print(a[0]):COM8 - ELTIMA Virtual Serial Port (COM8->COM9)

 

找到串口之后用serial方法进行读写,方法详解:http://pythonhosted.org/pyserial/pyserial_api.html

接受数据是按照bytes格式接受,如果与嵌入式系统匹配,可以用a.hex()方法转化成16进制

发送数据也是按照bytes格式发送,不支持unicode编码,在发送字符串时需要加上 str.encode(\'utf-8\'),

数值如果要转化成bytes,用chr()方法或者格式化字符串 s = “%c” * n  % (1,2,3,4,...n)

如果直接发送数字,如sport.write(100),我的串口调试助手接收到100个16进制数 00。。。

以上是 Python 串口操作 - Spencer_Rasp 的全部内容, 来源链接: utcz.com/z/387606.html

回到顶部