赞
踩
迷途小书童的 Note
读完需要
3
分钟速读仅需 1 分钟
1
简介
pyserial 是一个 Python 库,它可以让您轻松地与串行端口进行通信。它支持多种操作系统,包括 Windows、Linux 和 macOS。pyserial 模块非常易于使用,并且提供了许多有用的功能。
2
实现原理
libserial 库是一个跨平台的串口库,使用 C 语言编写,支持多种操作系统。pyserial 模块通过调用 libserial 库中的函数来实现其功能。
3
安装
使用 pip 安装,执行命令
pip install pyserial
4
使用示例
首先,接上串口线,在 设备管理器 中找到该设备,如我这里的 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/
5
免费社群
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。