Python pySerial包的详细使用示例
在本文中,我们将介绍如何使用pySerial包来执行各种串口通信操作。pySerial是Python编程语言中用于串口通信的标准库。它提供了一个简单而强大的接口,可以方便地连接和管理串口设备,实现串口数据的读写和控制。
阅读更多:Python 教程
导入pySerial
要开始使用pySerial,首先需要导入相关的模块。在Python中,可以通过以下方式导入pySerial:
import serial
打开串口
使用pySerial打开串口非常简单,只需要指定串口的名称、波特率和超时时间即可。例如,要打开COM1串口,波特率为9600,超时时间为1秒,可以使用以下代码:
ser = serial.Serial('COM1', 9600, timeout=1)
读取串口数据
读取串口数据时,可以使用pySerial提供的read()方法。在读取之前,需要先检查是否有可用数据,可以通过available()方法获取可读取的字节数。下面的示例演示了如何读取连续的数据流:
while True:
if ser.in_waiting > 0:
data = ser.read(ser.in_waiting)
print(data)
写入串口数据
使用pySerial写入串口数据同样简单。可以使用write()方法将要发送的数据写入串口。下面是一个将字符串“Hello World”发送到串口的示例:
ser.write(b'Hello World')
设置串口参数
pySerial还提供了一些方法用于设置和获取串口的参数,包括波特率、数据位、校验位、停止位等。以下代码演示了如何设置串口参数:
ser.baudrate = 9600 # 设置波特率为9600
ser.bytesize = serial.EIGHTBITS # 设置数据位为8
ser.parity = serial.PARITY_NONE # 设置校验位为无
ser.stopbits = serial.STOPBITS_ONE # 设置停止位为1
串口控制
通过pySerial可以实现对串口的控制,比如流控制、发送控制等。以下是一些常用的串口控制方法:
- setRTS():设置RTS线的状态(True或False)
- setDTR():设置DTR线的状态(True或False)
- getCTS():获取CTS线的状态(True或False)
- getDSR():获取DSR线的状态(True或False)
使用示例
下面是一个使用pySerial进行串口通信的完整示例,演示了如何打开串口、读取数据、写入数据和控制串口:
import serial
ser = serial.Serial('COM1', 9600, timeout=1)
ser.write(b'Hello World')
while True:
if ser.in_waiting > 0:
data = ser.read(ser.in_waiting)
print(data)
ser.setRTS(True) # 设置RTS线为高电平
ser.setDTR(False) # 设置DTR线为低电平
总结
本文介绍了Python中pySerial包的详细使用示例。通过学习这些示例,你可以轻松地使用Python与串口设备进行通信,读取和写入串口数据,并控制串口的各种参数和状态。希望本文对你在串口编程方面的学习有所帮助!
极客教程