【Visual Studio】使用 C++ 语言,配合 Qt,开发了一个串口通信界面

知识不是单独的,一定是成体系的。更多我的个人总结和相关经验可查阅这个专栏:Visual Studio。

文章目录

  • 1. 获取串口名字
    • 1.1 文件 `GUI.ui`
    • 1.2 文件 `GUI.h`
    • 1.3 文件 `GUI.cpp`
  • 2. 配置串口连接
    • 2.1 文件 `GUI.ui`
    • 2.2 文件 `GUI.h`
    • 2.3 文件 `GUI.cpp`
  • 3. 配置串口连接
    • 3.1 文件 `GUI.ui`
    • 3.2 文件 `GUI.h`
    • 3.3 文件 `GUI.cpp`
  • Ref

我要使用的功能比较简单,主要包含扫描串口、打开串口、发送数据、接收数据、暂停按钮、停止按钮,因此接下里将围绕这几个功能依次更新。

我的工程项目名字叫 “GUI”。

首先展示下已经创建后的项目截图,主要包括 GUI.uiGUI.hGUI.cpp 这三个文件。

【Visual Studio】使用 C++ 语言,配合 Qt,开发了一个串口通信界面_第1张图片

【Visual Studio】使用 C++ 语言,配合 Qt,开发了一个串口通信界面_第2张图片

【Visual Studio】使用 C++ 语言,配合 Qt,开发了一个串口通信界面_第3张图片

之后的每个功能,也都将围绕这三个地方进行添加和修改。

1. 获取串口名字

1.1 文件 GUI.ui

UI 界面中添加了一个 Combo Box 组合框,等下将扫描出来的串口号,添加到这个组合框中。

【Visual Studio】使用 C++ 语言,配合 Qt,开发了一个串口通信界面_第4张图片

1.2 文件 GUI.h

GUI.h 文件中,添加需要用到的头文件,函数 getPortNameList(),变量名。

【Visual Studio】使用 C++ 语言,配合 Qt,开发了一个串口通信界面_第5张图片

1.3 文件 GUI.cpp

GUI.cpp 文件中,编写函数 getPortNameList() 的具体功能。
同时,别忘了将获取到的端口号变量 m_serialPortName,添加到 comboBoxPortNumber 这个组合框中。

【Visual Studio】使用 C++ 语言,配合 Qt,开发了一个串口通信界面_第6张图片
运行后,最终的效果如下:
【Visual Studio】使用 C++ 语言,配合 Qt,开发了一个串口通信界面_第7张图片


在这过程中,可能会遇到一个 LN2019 的 bug,可以参考这个教程解决:【Visual Studio】报错 LNK2019,使用 C++ 语言,配合 Qt 开发串口通信界面。


2. 配置串口连接

这一步添加一个开始按钮 Push Button 和一个停止按钮 Push Button,当开始按钮按下时,我们让串口接通,当停止按钮按下时,我们关闭串口。
注意,在串口接通时,是需要选择配置一些串口传输时的必需信息的,比如波特率,数据位等。

但这我要做的项目中,用户需要操作的越少越好。因此,我这里都将所有信息内置到项目中,不再显露出来。

为了进一步观察状态,我们再添加一个文本浏览器 Text Browser,用来显示串口是否打开的状态。

2.1 文件 GUI.ui

【Visual Studio】使用 C++ 语言,配合 Qt,开发了一个串口通信界面_第8张图片

2.2 文件 GUI.h

【Visual Studio】使用 C++ 语言,配合 Qt,开发了一个串口通信界面_第9张图片

2.3 文件 GUI.cpp

【Visual Studio】使用 C++ 语言,配合 Qt,开发了一个串口通信界面_第10张图片

最终运行效果如下:

【Visual Studio】使用 C++ 语言,配合 Qt,开发了一个串口通信界面_第11张图片

3. 配置串口连接

这一步主要用来接收串口发送过来的信息并显示出来。我们添加一个文本浏览器 Text Browser,用来显示串口接收到的内容。

3.1 文件 GUI.ui

【Visual Studio】使用 C++ 语言,配合 Qt,开发了一个串口通信界面_第12张图片

3.2 文件 GUI.h

【Visual Studio】使用 C++ 语言,配合 Qt,开发了一个串口通信界面_第13张图片

3.3 文件 GUI.cpp

【Visual Studio】使用 C++ 语言,配合 Qt,开发了一个串口通信界面_第14张图片
【Visual Studio】使用 C++ 语言,配合 Qt,开发了一个串口通信界面_第15张图片

最终运行效果如下:

【Visual Studio】使用 C++ 语言,配合 Qt,开发了一个串口通信界面_第16张图片


Ref

  1. Visual Studio如何使用Qt开发桌面软件?
  2. Qt 实现多线程的串口通信

你可能感兴趣的:(Visual,Studio,qt,c++)