环境
- python 3.8
- pyserial 3.5
前言
串口使用是做嵌入式系统开发的必备技能,一般都会使用诸如 securecrt
、putty
这样的工具来发送和接收数据。本文就来介绍在 python
环境中,如何使用第三方库 pyserial
来进行串口数据操作。
安装
使用 pip
安装,执行命令
pip install pyserial
使用示例
首先,接上串口线,在 设备管理器 中找到该设备,如我这里的 COM11
,这会在后面的代码中用到
除了端口号,我们还需要设置一下串口的其它几个属性,比如波特率、数据位、奇偶校验位、停止位、DTR/DSR
、RTS/CTS
、XON/XOFF
理清了这些后,就可以看下面的代码了
import serial
if __name__ == '__main__':
# 如果不清楚当前的串口设备,pyserial 也提供了相应的 api
import serial.tools.list_ports
ports = list(serial.tools.list_ports.comports(include_links=False))
for port in ports:
print(port)
# 创建串口对象
ser = serial.Serial(port="COM11", baudrate=115200, parity=serial.PARITY_NONE, stopbits=serial.STOPBITS_ONE, timeout=1, rtscts=False)
# 判断串口是否打开
if ser.isOpen():
print('open success.')
# 发送数据,这里只支持 bytes 类型的数据,需要对字符串进行 encode 编码
send_len = ser.write(b'usb start')
print('send data length: {}'.format(send_len))
# 读取数据,读取的内容也是 bytes 类型
read_msg = ser.read(30)
print('read_msg: {}'.format(read_msg))
else:
print('open failed.')
# 关闭串口
ser.close()
更多内容,可以参考官方的文档 https://pyserial.readthedocs.io/en/latest/
Python实用模块专题
更多有用的 python
模块,请移步