Python 使用pySerial包的完整示例
在本文中,我们将介绍如何使用pySerial包进行串口通信,并提供一些完整的示例。pySerial是一个Python库,用于通过串口进行通信。它提供了一组简单的函数,用于打开、读取和写入串口。
阅读更多:Python 教程
安装pySerial包
在开始使用pySerial之前,首先需要安装它。可以使用pip命令进行安装,打开命令行并运行以下命令:
pip install pySerial
安装完成后,我们就可以在Python中导入pySerial包,并使用它来进行串口通信了。
打开串口
在通过串口进行通信之前,我们需要先打开串口。pySerial提供了Serial类,可用于打开和配置串口。以下是打开串口的示例代码:
import serial
# 打开串口
ser = serial.Serial('COM1', 9600)
上述代码中,我们通过serial.Serial
函数打开了COM1串口,并将波特率设置为9600。可以根据自己的需求修改串口号和波特率。
读取串口数据
打开串口后,我们通常需要读取串口发送的数据。pySerial提供了多种读取串口数据的方法,如下所示:
读取固定字节数
如果我们知道要读取的字节数,可以使用read
方法来读取固定字节数的数据。以下是示例代码:
# 读取5个字节的数据
data = ser.read(5)
print(data)
读取一行数据
如果我们知道一行数据以换行符结尾,可以使用readline
方法来读取一行数据。以下是示例代码:
# 读取一行数据
line = ser.readline()
print(line)
持续读取数据
如果我们需要持续读取串口发送的数据,可以使用循环来实现。以下是示例代码:
# 持续读取数据
while True:
data = ser.read(1) # 读取1个字节的数据
print(data)
写入串口数据
除了读取串口数据,我们还可以通过串口发送数据。pySerial提供了多种写入串口数据的方法,如下所示:
写入字节数组
如果我们有一个字节数组需要发送,可以使用write
方法将其写入串口。以下是示例代码:
# 写入字节数组
data = [0x41, 0x42, 0x43] # 发送ABC
ser.write(data)
写入字符串
如果我们有一个字符串需要发送,可以将其转换为字节数组,并使用write
方法将其写入串口。以下是示例代码:
# 写入字符串
str_data = "Hello"
data = str_data.encode() # 将字符串转换为字节数组
ser.write(data)
关闭串口
当我们完成串口通信后,需要及时关闭串口。可以使用close
方法关闭串口。以下是示例代码:
# 关闭串口
ser.close()
完整示例
下面是一个完整的示例,演示了如何通过串口接收和发送数据:
import serial
# 打开串口
ser = serial.Serial('COM1', 9600)
try:
while True:
# 接收数据
data = ser.read(1)
print("接收到的数据:", data)
# 发送数据
str_data = input("请输入要发送的数据:")
data = str_data.encode()
ser.write(data)
finally:
# 关闭串口
ser.close()
以上示例将循环接收数据,并等待用户输入需要发送的数据。用户输入的数据将通过串口发送出去。
总结
本文介绍了如何使用pySerial包进行串口通信,并提供了多个完整的示例。通过学习这些示例,我们可以掌握pySerial包的常用功能,并应用于实际项目中。希望本文能帮助您在Python中使用pySerial进行串口通信。