请用python完成从串口实时接收的浮点数据绘制成折线图
时间: 2023-08-13 22:08:21 浏览: 104
利用串口通信协议画折线图
4星 · 用户满意度95%
好的,首先需要安装pyserial和matplotlib库。
安装方法:
```python
pip install pyserial
pip install matplotlib
```
接下来是代码实现:
```python
import serial
import matplotlib.pyplot as plt
# 设置串口号和波特率
portx = 'COM3'
bps = 115200
timex = 5 # 读取数据的时间间隔,单位为秒
# 打开串口
ser = serial.Serial(portx, bps, timeout=timex)
# 初始化数据列表
data_list = []
# 读取数据并绘制折线图
while True:
try:
# 读取一行数据
data = ser.readline()
# 数据解码
data = data.decode('utf-8').strip()
# 将字符串转为浮点数
data = float(data)
# 将数据添加到列表
data_list.append(data)
# 绘制折线图
plt.plot(data_list)
# 显示图形
plt.show(block=False)
# 暂停0.1秒
plt.pause(0.1)
except KeyboardInterrupt:
# 用户按下Ctrl+C退出程序
ser.close()
break
except:
# 发生异常,忽略
pass
```
这段代码首先通过串口读取实时数据,并将数据解码为浮点数,然后将数据添加到列表中,并绘制折线图。如果用户按下Ctrl+C或发生异常,程序会关闭串口并退出。
阅读全文