近期又把扔掉的QT捡起来学了一下,为了练习,自己做了一个串口调试助手。功能很简单,但是要考虑的细节十分多,否则程序的稳定性和易用性就不能得到保证。这次的设计理念也是追求稳定和易用,只保留必要功能,去除花里胡哨的功能,一方面自己可以练手,一方面也是给用户降低学习成本。让我们一起来看看吧!

软件的图标我这里简单用ppt画了一下,是USB TypeC接口的抽象,颜色选用的蓝色风格,意味着USB3.0。借助于TypeC的正反插特性与USB3.0对USB2.0速度的巨大提升的特性,意味着本软件的追求是能给用户带来高速、高效、易用、方便的体验。

软件图标

基本功能

软件的界面则非常简单,数据接收框占据了绝大部分。界面上只保留尽可能少的按钮。能自动处理的自动处理,能合并的就合并,能收纳起来的就收纳起来。

软件主界面

为了让软件更加易用,其实需要画不少心思。最简单的就是自动搜索串口,首次运行可以自动搜索可用串口,并进行标记,如果只有一个串口就直接打开它。当你切换串口号或者修改波特率时,软件能自动的帮你重新配置,无需手动关闭串口。在布局方面,控件随屏幕尺寸自动调整是必不可少的,且控件与控件之间的尺寸也是可以调整的。此外发送按钮我也特意调大了一号,这样在点击时也更加轻松。

绘图功能

如果只是基本的串口收发就很稀疏平常。很多情况下,需要对数据进行绘图显示。本软件就支持绘图功能,一览为快:

绘图模式-线图

绘图模式-点线图(还支持点图)

坐标跟随

当然这不是本软件专属功能,但是目前很多软件的绘图方法比较复杂,当然有一部分的目的是为了准确传输。可是事实上也有很多情况下不需要严格准确的数据,对于错误的数据,如果和真实值相差很大,有很多种方法可以剔除,如果相差不大,多数情况下也是可以接受的。 因此本软件用了十分简单的协议完成绘图。按如下格式发送数据即可自动绘图。

printf("{:%f,%f,%f}", data1, data2, data3);

左右是花括号封包,冒号是保留符号,以后可能拓展功能。后面的就是数据,以逗号为分隔。绘图器可以自动的计算曲线数量并增加曲线。另外,软件还支持float直接传输,在传输效率上会好不少,具体协议下载本软件来看看吧:)

统计功能

本软件有一些有趣的统计的功能,比如收发速度统计、运行时间统计、收发数量统计。只要你不删除配置文件,这些数据都会累计,等上一段时间,看看你为嵌入式行业贡献了多少数据和青春吧:)

关键字高亮功能

有时候开发者需要在茫茫数据海洋中寻找数据,很容易看花了眼。对此,我给软件添加了关键字高亮功能,就是语法高亮功能的一种应用。目前我给时间戳、分隔符等字符都添加了高亮功能,这样子数据的显示会更加有层次感。不过目前不支持自定义高亮,初衷还是为了简单易用,毕竟专业找数据的话还是推荐使用专业的编辑器。

关键字高亮

STM32自动下载功能

这个功能算是一个特色功能,它可以给STM32F1和F4系列单片机自动下载程序。利用的是stm32出厂内置的isp功能。只需要将stm32跳转到isp代码执行就可以完成自动下载,如果你的开发板有自动下载电路那也会更加方便。具体如何使用的可以下载软件来研究一下哦!

stm32自动下载软件

文件读写功能

开发者可能要将收到的数据保存起来,我设计了多种形式:

  • 原始数据:可以将收到数据不加修饰的保存,也可以以后用来读取
  • 显示数据:所见即所得方式的保存,你看到的数据就是保存的数据
  • 绘图数据:绘图数据可以表格的形式保存为xlsx文件、csv文件、txt文件,方便导出。
  • 绘图图片:绘图曲线可以直接保存为图片,在简单的场合也许会有用

此外,软件支持发送文件功能。用的不多的功能,但有时候会很方便。

多字符串功能

如果有过物联网开发经历的开发者可能会有这种需求,因为很多蓝牙、WiFi模块都支持AT指令集进行控制,一个功能对应指令代码。重新敲指令确实麻烦,多字符串功能可以记录这些用过的指令,下次再次使用时只需要双击即可发送。不要的指令也可以右键删除。

多字符串功能

注意:记录的指令只在软件运行周期有效,重启后就没有了哦。

配置记录功能

为了追求简单易用,你的所有操作都会被记录保存,下次启动时会记着你上次的运行配置。无需重复手动调整。很基础和必要的功能。

下载链接:http://kod.inhowe.com/index.php?share/file&user=1&sid=53qkPdy8