作者:袁冠芳彦源 | 来源:互联网 | 2023-06-24 10:38
为了方便PC机同单片机(下位机)进行通信,需要开发一款基于串口协议的上位机辅助调试软件。软件不仅能够向下位机发送数据,发送指令进而控制下位机,而且还应该能准确接收下位机发来的数据,
为了方便PC机同单片机(下位机)进行通信,需要开发一款基于串口协议的上位机辅助调试软件。软件不仅能够向下位机发送数据,发送指令进而控制下位机,而且还应该能准确接收下位机发来的数据,便于对下位机的一些传感器采集的信号进行分析。
首先,在考虑到单片机跟PC机通信的问题时,一般的解决方案是通过一根串口线,通过UART协议实现上位机和单片机的通信,但是这样只能进行一些数据的接收.比如在进行AD采集时,陀螺仪和加速度传感器的采集回来的信号不能很好的用上位机软件进行显示,必须先把数据存储到硬盘,再通过matlab实现数据的缩放,波形的显示分析。这样处理起来比较浪费时间。
其次,在完成前面一系列的硬件电路搭建,驱动编写,调试,以及后面的软件算法初步整定后,又遇到了新的问题。由于我们所在的组别需要实现两轮直立行走的可循迹的智能车,中间涉及到的参数比较多,调试起来很困难,最开始比较笨,也是比较常规的方法是每改动一遍程序,就重新烧录一次程序,这个过程相对起来时比较慢的。最后想到利用单片机的串口中断实现对智能车行进过程中的参数动态整定。
最后,通过无线串口实现上位机和单片机的通信。由于自己比较熟悉QT,于是就用QT开发了SerialPort这款串口调试工具。
(1)开发工具介绍
Qt Creator 是 Qt 被 Nokia 收购后推出的一款新的轻量级集成开发环境(IDE)。此 IDE 能够跨平台运行,支持的系统包括 Linux(32位及64 位)、MacOS X 以及 Windows。根据官方描述,QtCreator 的设计目标是使开发人员能够利用 Qt 这个应用程序框架更加快速及轻易的完成开发任务。
在功能方面,Qt Creator 包括项目生成向导、高级的 C++ 代码编辑器、浏览文件及类的工具、集成了Qt Designer、图形化的 GDB 调试前端,集成qmake 构建工具等。
IAR System是全球领先的嵌入式系统开发工具和服务的供应商。公司成立于1983年,迄今已有27年,提供的产品和服务涉及到嵌入式系统的设计、开发和测试的每一个阶段,包括:带有C/C++编译器和调试器的集成开发环境(IDE)、实时操作系统和中间件、开发套件、硬件仿真器以及状态机建模工具。
(2)实现功能
1).可以实时接收显示数据,同时也可以向单片机发送数据;2).可以读取文件中数据,不断发送给下位机;
3).可以实时的显示波形;并通过一些软件算法对采集的信号进行滤波;
4).可以对智能车所涉及的直立控制模块,速度控制模块,方向控制模块中的7个参数进行在线调试;当然,如需更多的参数,下位机程序需进行相应的修改。
(3)软件主界面,如下图:
(4).软件波形显示界面
(5).QT编写程序时的相关代码截图:
(6).自动定时发送数据给下位机:
(7)加载数据文件进行显示,并可以通过相应的滤波算法对数据进行处理:
github链接:https://github.com/zhouguangfu09/SerialPortQT.git