• 大小: 31KB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-06-04
  • 语言: 其他
  • 标签: 北斗  Qt  

资源简介

Qt版本的北斗短报文一体机,适用于Ubuntu和Windows,具体介绍可参考博客https://blog.csdn.net/shijiegong123/article/details/101033280

资源截图

代码片段和文件信息

#include “bd_serialportset.h“
#include “ui_bd_serialportset.h“

BD_SerialPortSet::BD_SerialPortSet(QWidget *parent) :
    QWidget(parent)
    ui(new Ui::BD_SerialPortSet)
{
    ui->setupUi(this);
    this->setFixedSize(this->size());
    this->setWindowIcon(QIcon(“:/picture/satellite.png“));
    this->setWindowtitle(“北斗串口设置“);

    this->raise();
    this->setAttribute(Qt::WA_DeleteOnClose);//退出时自动delete自己
    this->setWindowModality(Qt::ApplicationModal);//设置模式,使父窗口不可用

    //检测可用的串口号
    checkAvailableSerialPorts();

    if(ui->COM_CB->count()>0)
    {
        haveAvailablePorts();

        Transmit_PortsSet();
    }
    else
    {
        NoAvailablePorts();

    }

}

BD_SerialPortSet::~BD_SerialPortSet()
{
    delete ui;
}

//检查是否有可用的串口号
/**
 * @brief BD_SerialPortSet::checkAvailableSerialPorts
 */
void BD_SerialPortSet::checkAvailableSerialPorts()
{

    //ui->COM_CB->addItem(“usb_beidou0_link“);
    //找不到存在串口是不会进入到foreach内部的        存在不一定可用
    foreach ( const QSerialPortInfo &Info QSerialPortInfo::availablePorts())
    {
        QSerialPort availablePort;
        availablePort.setPortName(Info.portName());
        //检测该串口是否可用
        if (availablePort.open(QIODevice::ReadWrite))//protname:/dev/tty0或者/dev/ttyUSB0
        {
            ui->COM_CB->addItem(Info.portName());

            availablePort.close();
         }
    }
}

void BD_SerialPortSet::haveAvailablePorts()
{
    ui->COM_CB->setEnabled(true);
    ui->Baud_CB->setEnabled(true);
    ui->DataBits_CB->setEnabled(true);
    ui->Parity_CB->setEnabled(true);
    ui->FlowCtrl_CB->setEnabled(true);
    ui->StopBits_CB->setEnabled(true);
}

void BD_SerialPortSet::NoAvailablePorts()
{
    ui->Baud_CB->setEnabled(false);
    ui->DataBits_CB->setEnabled(false);
    ui->Parity_CB->setEnabled(false);
    ui->FlowCtrl_CB->setEnabled(false);
    ui->StopBits_CB->setEnabled(false);

}

//串口端口参数设置
void BD_SerialPortSet::Transmit_PortsSet()
{
    PORTNAME=ui->COM_CB->currentText();
    BAUD=ui->Baud_CB->currentText();
    DATABITS=ui->DataBits_CB->currentText();
    PARITY=ui->Parity_CB->currentText();
    FLOWCTRL=ui->FlowCtrl_CB->currentText();
    STOPBITS=ui->StopBits_CB->currentText();
}

void BD_SerialPortSet::on_EnsureBtn_clicked()
{
    Transmit_PortsSet();
    this->close();

}

void BD_SerialPortSet::on_CancelBtn_clicked()
{
    this->close();
}

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2019-09-20 05:48  BeiDou_RDSS\
     文件       32756  2019-04-27 04:00  BeiDou_RDSS\beidou.cpp
     文件       23410  2019-01-14 12:11  BeiDou_RDSS\beidou.ui
     文件         164  2017-07-05 08:46  BeiDou_RDSS\main.cpp
     文件       14759  2019-01-14 12:11  BeiDou_RDSS\bd_serialportset.ui
     文件         100  2017-07-12 08:19  BeiDou_RDSS\resource.qrc
     文件        2520  2019-09-19 07:53  BeiDou_RDSS\bd_serialportset.cpp
     文件        2613  2019-04-27 04:04  BeiDou_RDSS\beidou.h
     文件         607  2019-09-19 07:55  BeiDou_RDSS\BeiDou_RDSS.pro
     文件         307  2017-07-08 07:56  BeiDou_RDSS\seriport_global.h
     目录           0  2017-09-15 16:30  BeiDou_RDSS\picture\
     文件        9591  2017-07-12 08:10  BeiDou_RDSS\picture\satellite.png
     文件       24127  2019-09-20 03:03  BeiDou_RDSS\BeiDou_RDSS.pro.user
     文件         739  2019-04-27 03:56  BeiDou_RDSS\bd_serialportset.h
     文件       18155  2017-07-08 02:41  BeiDou_RDSS\myhelper.h
     文件         201  2017-07-08 07:56  BeiDou_RDSS\seriport_global.cpp

评论

共有 条评论