没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
Qt 编写串口通信程序全程图文讲解(一)(原创)
首先说明我们的编程环境是 windows xp 下,在 Qt Creator 中进行,如果在 Linux 下或直接
用源码编写,程序稍有不同,请自己改动。
在 Qt 中并没有特定的串口控制类,现在大部分人使用的是第三方写的 qextserialport
类,我们这里也是使用的该类。我们可以去
http://sourceforge.net/projects/qextserialport/files/
进行下载,也可以去下载论坛上的
http://www.qtcn.org/bbs/read.php?tid=22847
下载到的文件为:qextserialport-1.2win-alpha.zip
其内容如下图:
我们在 windows 下只需要使用其中的 6 个文件:
qextserialbase.cpp 和 qextserialbase.h,qextserialport.cpp 和
qextserialport.h,win_qextserialport.cpp 和 win_qextserialport.h
如果在 Linux 下只需将 win_qextserialport.cpp 和 win_qextserialport.h 换为
posix_qextserialport.cpp 和 posix_qextserialport.h 即可。
下面我们将讲述详细编程过程,这里我们先给出完整的程序,然后再进行逐句分析。
1.打开 Qt Creator,新建 Qt4 Gui Application,工程名设置为 mycom,其他使用默认选
项。
(注意:建立的工程路径不能有中文。)
2.将上面所说的 6 个文件复制到工程文件夹下,如下图。
4.点击 mainwindow.ui,在窗口上加入一个 Text Browser,用来显示信息。如下图。
5.在 mainwindow.h 的相应位置添加头文件#include "win_qextserialport.h",添加对象
声明 Win_QextSerialPort *myCom;,添加槽函数声明 void readMyCom();,添加完后,
如下图。
6.在 mainwindow.cpp 的类的构造函数中添加如下语句。
MainWindow::MainWindow(QWidget *parent)
: QMainWindow(parent), ui(new Ui::MainWindow)
{
ui->setupUi(this);
struct PortSettings myComSetting =
{BAUD9600,DATA_8,PAR_NONE,STOP_1,FLOW_OFF,500};
//定义一个结构体,用来存放串口各个参数
myCom = new
Win_QextSerialPort("com1",myComSetting,QextSerialBase::EventDriven);
//定义串口对象,并传递参数,在构造函数里对其进行初始化
myCom ->open(QIODevice::ReadWrite);
//以可读写方式打开串口
connect(myCom,SIGNAL(readyRead()),this,SLOT(readMyCom()));
//信号和槽函数关联,当串口缓冲区有数据时,进行读串口操作
}
在下面添加 readMyCom()函数的定义,添加如下代码。
void MainWindow::readMyCom() //读串口函数
{
QByteArray temp = myCom->readAll();
//读取串口缓冲区的所有数据给临时变量 temp
ui->textBrowser->insertPlainText(temp);
//将串口的数据显示在窗口的文本浏览器中
}
添加完代码后如下图。
此时如果运行程序,已经能实现读取串口数据的功能了。我们将单片机采集的温度信息由
串口传给计算机,效果如下图。
这样最简单的串口通信程序就完成了。可以看到它只需要加入几行代码即可,非常简单。
在下一篇中我们将详细分析添加的每一条语句。
Qt 编写串口通信程序全程图文讲解(二)(原创)
上一篇文章中已经介绍了实现最简单的串口接收程序的编写,这篇将对程序内容进行分析。
剩余17页未读,继续阅读
laohongxun
- 粉丝: 1
- 资源: 2
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 基于matlab实现本份代码能对图像进行gabor滤波处理,结合指纹方向图以及指纹沟壑频率特性,对指纹图像进行增强.rar
- 基于matlab实现RBM神经网络实现了手写数字体识别的GUI程序.rar
- 基于matlab实现蝙蝠算法优化相关向量机建模对数据进行建模和预测.rar
- 基于matlab实现编写的禁忌搜索算法,解决了TSP问题,对初学者有重要的参考价值.rar
- 基于matlab实现SOH关于IMU进行姿态求解的C代码,里面包含了两套代码,分别是重力约束法求解和梯度下降法求解.rar
- 1_简单电子邮件客户端.zip
- 基于matlab实现powell优化搜索算法,适合于多参数优化且目标函数中不包含参数的情况.rar
- 基于matlab实现PID神经网络前向和反向学习算法的matlab的原程序代码.rar
- 基于matlab实现nsga-2的多目标优化算法,有注解.rar
- AIR-AP1815-K9-ME-8-5-182-0.zipFor 1815 1830 1840 1850 2700 3700
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
- 1
- 2
前往页