Skip to content

Latest commit

 

History

History
23 lines (17 loc) · 1.44 KB

README.md

File metadata and controls

23 lines (17 loc) · 1.44 KB

UserSerialPort

*A serial debugging assistant with waveform display_

如上标题,这是一个可以绘制数据波形的串口调试助手,基于Qt开发,完成在2016年9月份,最近空闲了才决定整理一下并上传到github, OK,开始进入正题。本软件实现的功能有如下: *. 基本的串口收发功能,(之前为了配合公司的调试做了两个发送区,有一个不可以定时发送); *. 发送文件和保存接收的数据; *. 接收特定格式数据并绘制波形:

主界面-次界面如下: image

串口的数据接收

Qt中由于串口类使用的是外带的,这个类在串口接收时可能一段数据会分几次接收到,有两种方法可以解决:

  1. 定时接收,当发现串口缓存中有可用数据时,打开定时器,一般定时100ms左右,当然也是根据实际情况来确定的;
  2. 使用线程接收数据,这个就比较高效了,本程序就是基于线程的数据接收;

*在用线程接收数据时为了在提高一帧数据的完整接收,在此,程序使用环形数组来接收数据并分析出一帧完整数据后,再显示出来_

##绘制数据波形 由于Qt的界面更新只能在主线程中刷新,所以在另一个窗口中不能开启线程来刷新绘图,程序中使用painEvent来更新绘图, 并实现历史记录的鼠标拖动查看。