• QT串口助手


     

     

     

    //mainwindow.cpp
    #include "mainwindow.h" #include "ui_mainwindow.h" #include <QPushButton> #include <QDebug> MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent) , ui(new Ui::MainWindow) { ui->setupUi(this); //begin system_init(); } MainWindow::~MainWindow() { delete ui; } void MainWindow::system_init(){ //port config Open button global_port.setParity(QSerialPort::NoParity); global_port.setDataBits(QSerialPort::Data8); global_port.setStopBits(QSerialPort::OneStop); //connect connect(ui->btn_open,&QPushButton::clicked,[=](){ emit btn_open_port(); }); //send data connect(ui->btn_send,&QPushButton::clicked,[=](){ emit btn_send_data(); }); //connect receive connect(&global_port,&QSerialPort::readyRead,this,&MainWindow::receive_data); } void MainWindow::btn_open_port(){ qDebug()<<"emit signal!"; /*--------------------portname---------*/ qDebug()<<ui->cmb_port_name->currentIndex();//0 switch (ui->cmb_port_name->currentIndex()) { case 0: //设置为com0 { global_port.setPortName("COM1"); break; } case 1: //设置为com0 { global_port.setPortName("COM2"); break; } case 2: //设置为com0 { global_port.setPortName("COM3"); break; } case 3: //设置为com0 { global_port.setPortName("COM4"); break; } case 4: //设置为com0 { global_port.setPortName("COM5"); break; } case 5: //设置为com0 { global_port.setPortName("COM6"); break; } case 6: //设置为com0 { global_port.setPortName("COM7"); break; } case 7: //设置为com0 { global_port.setPortName("COM8"); break; } default: break; } /*-------------baud rate----------------*/ switch(ui->cmb_rate->currentIndex()){ case 0: { global_port.setBaudRate(QSerialPort::Baud115200); break; } case 1: { global_port.setBaudRate(QSerialPort::Baud57600); break; } case 2: { global_port.setBaudRate(QSerialPort::Baud38400); break; } case 3: { global_port.setBaudRate(QSerialPort::Baud19200); break; } case 4: { global_port.setBaudRate(QSerialPort::Baud9600); break; } case 5: { global_port.setBaudRate(QSerialPort::Baud4800); break; } case 6: { global_port.setBaudRate(QSerialPort::Baud2400); break; } case 7: { global_port.setBaudRate(QSerialPort::Baud1200); break; } default: { global_port.setBaudRate(QSerialPort::Baud1200); break; } } //open port global_port.open(QIODevice::ReadWrite); ui->label->setText("Connected!"); //test //global_port.write("1"); qDebug()<<"emit signal Done!"; } void MainWindow::btn_send_data(){ QString a = ui->sendEdit->text(); // QString *b; // b =&a; // const char *data QByteArray array = a.toUtf8(); // QByteArray array1 = *b->toLatin1(); global_port.write(array); } void MainWindow::receive_data(){ QByteArray arr = global_port.readAll(); qDebug()<<arr; ui->plainTextEdit->insertPlainText(QString(arr)); } void MainWindow::on_cmb_close_clicked() { global_port.close(); ui->label->setText("Disconnected!"); qDebug()<<"close!"; }
  • 相关阅读:
    java生成json字符串的方法
    JSON的三种解析方式
    Android Studio你不知道的调试技巧
    Android 打开URL
    build.gradle中引入jar
    Spark RDD/Core 编程 API入门系列之map、filter、textFile、cache、对Job输出结果进行升和降序、union、groupByKey、join、reduce、lookup(一)
    NovaMind *的安装、和谐破解到永久使用
    小Q书桌的下载、安装和使用
    作业提交过程分析(源码)
    SparkContext的初始化过程分析(源码)
  • 原文地址:https://www.cnblogs.com/Knight66666/p/13646787.html
Copyright © 2020-2023  润新知