在Python中,使用`pyserial`库可以方便地接收串口数据。以下是一个简单的示例代码,展示了如何使用`pyserial`库来接收串口数据:
import serial
打开串口,这里以COM1为例,波特率设置为9600
ser = serial.Serial('COM1', 9600, timeout=0.5)
使用无限循环持续监听串口数据
while True:
如果串口有数据可读取
if ser.in_waiting > 0:
读取串口数据,这里使用readline()方法读取一行数据
data = ser.readline()
将读取到的二进制数据转换成字符串,并去掉两端的空格和换行符
data_str = data.decode('utf-8').strip()
打印读取到的数据
print(data_str)
在这段代码中,我们首先导入了`serial`模块,然后使用`serial.Serial`函数打开指定的串口(例如`COM1`),并设置波特率为`9600`。在无限循环中,我们使用`ser.in_waiting`属性检查是否有数据可读,如果有,则使用`ser.readline()`方法读取数据,并通过`decode('utf-8')`方法将二进制数据转换成字符串,最后使用`strip()`方法去除字符串两端的空白字符。
请注意,串口名称(如`COM1`或`/dev/ttyUSB0`)和波特率需要根据你的硬件配置进行调整。此外,你可能需要根据串口通信协议调整读取数据的格式和处理方式