这是一个用于接收并显示单片机虚拟示波器数据的上位机软件。
-
串口接收
- 支持自动识别可用串口
- 可选波特率(9600 ~ 921600)
- 实时接收并解析数据帧
-
数据显示
- 支持1-8通道数据同时显示
- 实时绘制连续曲线
- XY轴可自由缩放、拖动
- 支持显示/隐藏单个通道
- 自动跟随最新数据(可关闭)
-
数据记录
- 可随时开始/停止记录
- 保存为CSV格式文件
- 支持打开历史CSV文件查看
-
操作便捷
- 可调节最大显示点数(100-100000)
- 8个通道不同颜色区分
- 清晰的状态提示
单片机发送的数据帧格式:
帧头(2字节): 0x03 0xFC
数据区: 1-8个int32(每个4字节,小端序)
帧尾(2字节): 0xFC 0x03
在Terminal目录下运行:
pip install -r requirements.txt依赖包:
- PyQt5 (GUI界面)
- pyqtgraph (实时绘图)
- pyserial (串口通信)
- numpy (数据处理)
python virtual_oscilloscope.py- 运行打包脚本:
python build_exe.py- 打包完成后,可执行文件在
dist目录:
dist/VirtualOscilloscope.exe
- 可以将 .exe 文件复制到任何Windows电脑运行,无需Python环境
-
连接设备
- 选择正确的串口
- 选择波特率(默认115200)
- 点击"连接"按钮
-
查看数据
- 连接成功后自动接收数据
- 实时显示在图表上
- 可拖动鼠标缩放图表
- 取消"自动跟随"可查看历史数据
-
记录数据
- 点击"开始记录"开始记录数据
- 点击"停止记录"停止记录
- 点击"保存CSV"保存数据到文件
-
查看历史数据
- 点击"打开CSV"选择之前保存的文件
- 自动加载并显示数据曲线
- CH1: 红色
- CH2: 绿色
- CH3: 蓝色
- CH4: 黄色
- CH5: 品红
- CH6: 青色
- CH7: 橙色
- CH8: 紫色
- 首次运行可执行文件可能需要几秒钟启动时间
- 确保串口未被其他程序占用
- 大量数据时建议降低最大显示点数以提高性能
- CSV文件包含时间戳列和各通道数据列
by Bob 20260311