如何在Qt上实现UART串口调试功能
需要的工具
Qt版本:Qt4.8.6
外部包:qextserialport-1.2rc.zip http://download.youkuaiyun.com/detail/u010564071/7644363
关于qextserialport-1.2rc.zip
解压后“/src”目录下会有以下几个文件:
qextserialport.pri
qextserialport_p.h
qextserialport_global.h
qextserialport.h
qextserialenumerator_p.h
qextserialenumerator.h
qextserialport_win.cpp
qextserialport_unix.cpp
qextserialport.cpp
qextserialenumerator_win.cpp
qextserialenumerator_unix.cpp
qextserialenumerator_osx.cpp
qextserialenumerator_linux.cpp
qextserialenumerator.cpp
根据操作系统选择需要的文件,下面以windows环境举例,介绍一下如何使用Qt在windows环境下开发UART串口调试功能。
首先通过Qt设计师设计Ui界面,主要是添加UART配置信息
常见的包括串口、波特率、数据位、校验位、停止位、超时时间、查询模式,再添加一个自动发送的功能
uarttrans.h
#ifndef UARTTRANS_H
#define UARTTRANS_H
#include "ui_uarttrans.h"
#include <QtGui/QMainWindow>
#include "qextserialport.h"
#include "qextserialenumerator.h"
class uarttrans : public QWidget
{
Q_OBJECT
public:
uarttrans(QWidget *parent = 0);
Ui::uarttrans ui;
~uarttrans();
private:
QTimer *timer; //超时时间
QTimer *autoTimer; //自动发送时间
QextSerialPort *port; //串口类
QextSerialEnumerator *enumerator; //枚举串口
public:
void initial();//初始化界面
public slots:
void onPortNameChanged(const QString &name); //串口COM选择
void onBandRateChanged(int idx);