📅  最后修改于: 2023-12-03 15:04:13.963000             🧑  作者: Mango
在现代工业控制、机器人、嵌入式系统中,使用串口通信是非常常见的。Python 作为一门功能强大的高级编程语言,自然也可以通过多种途径与串口通信。接下来将介绍怎样使用 Python 进行串口通信。
所谓串口通信,其实就是利用串行通信的方式进行数据的传输。串口通信一般分为两个部分,一个是硬件,一个是软件。硬件部分需要串口转 USB 等设备,而软件部分需要使用对应的库来进行编程操作。
典型的串口通信有如下的一些参数:
PySerial 是 Python 中常用的串口通信库。该库支持不同的操作系统(如 Windows、Linux、Mac),支持多个串口设备(如 USB 转串口、雷达、传感器等)。
在使用 PySerial 库前,需要先安装它。可以使用 pip 进行安装:
pip install pyserial
PySerial 库中最常用的类是 serial.Serial。可以使用该类进行端口设置、打开关闭端口、读写数据等操作。
下面的代码展示了如何设置及打开端口:
import serial
ser = serial.Serial()
ser.port = "/dev/ttyUSB0"
ser.baudrate = 9600
ser.open()
其中:
ser.port
:设置端口名字,如 "/dev/ttyUSB0" 或 "COM3" 等ser.baudrate
:设置波特率,如 9600、115200 等ser.open()
:打开串口下面的代码展示了如何将数据写入串口:
ser.write(b"hello")
其中,ser.write()
函数需要传入 bytes 类型的数据,如 b"hello"。
下面的代码展示了如何从串口读取数据:
data = ser.read(size=200)
其中,ser.read()
函数需要传入传输数据的字节数,如上述的 size=200。
下面的代码展示了如何关闭端口:
ser.close()
利用 PySerial 库可以实现许多功能。下面是一个简单的例子,展示了如何不断向串口写入数据,并从串口读取数据输出。
import serial
ser = serial.Serial("/dev/ttyUSB0", 9600)
while True:
ser.write(b"hello\n")
data = ser.readline()
print(data.decode().rstrip())
ser.close()
本文介绍了 Python 如何使用 PySerial 库进行串口通信,并简单展示了如何设置、打开、读写、关闭串口。在实际工程中,还需要结合串口设备的具体参数及协议进行操作。