标题: Qt制作简易串口通信 [打印本页]

作者: zjy09    时间: 2017-11-6 17:39
标题: Qt制作简易串口通信
在Qt上制作一个串口通信的界面,可以与手机通信,也可以通过蓝牙与单片机通信。




源程序如下:
  1. #include "mainwindow.h"
  2. #include "ui_mainwindow.h"
  3. #include <QtCore/QDebug>
  4. #include <QtSerialPort/QSerialPort>
  5. #include <QtSerialPort/QSerialPortInfo>

  6. MainWindow::MainWindow(QWidget *parent) :
  7.     QMainWindow(parent),
  8.     ui(new Ui::MainWindow)
  9. {
  10.     ui->setupUi(this);

  11.     //枚举所有串口
  12.     foreach (const QSerialPortInfo &info, QSerialPortInfo::availablePorts())
  13.     {
  14.         qDebug() << "Name        : " << info.portName();
  15.         qDebug() << "Description : " << info.description();
  16.         qDebug() << "Manufacturer: " << info.manufacturer();

  17.         // Example use QSerialPort
  18.         QSerialPort serial;
  19.         serial.setPort(info);
  20.         if (serial.open(QIODevice::ReadWrite))
  21.         {
  22.            ui->comboBox->addItem(info.portName());
  23.             serial.close();
  24.         }
  25.     }

  26.     my_serialport= new QSerialPort;

  27. }

  28. MainWindow::~MainWindow()
  29. {
  30.     delete ui;
  31. }

  32. void MainWindow::on_cmOpen_clicked()
  33. {
  34.     my_serialport->setPortName(ui->comboBox->currentText());
  35.     my_serialport->open(QIODevice::ReadWrite);
  36.     my_serialport->setBaudRate(ui->lineEdit->text().toInt());
  37.     my_serialport->setDataBits(QSerialPort::Data8);
  38.     my_serialport->setParity(QSerialPort::NoParity);
  39.     my_serialport->setStopBits(QSerialPort::OneStop);
  40.     my_serialport->setFlowControl(QSerialPort::NoFlowControl);
  41.     connect(my_serialport,SIGNAL(readyRead()),this,SLOT(readCom()));

  42. }

  43. void MainWindow::on_pushButton_2_clicked()
  44. {
  45.     my_serialport->close();
  46. }

  47. void MainWindow::on_pushButton_clicked()
  48. {
  49.     my_serialport->write(ui->lineEdit_2->text().toLatin1());
  50. }

  51. void MainWindow::readCom()
  52. {
  53.     QByteArray temp = my_serialport->readAll();
  54.     ui->textBrowser->append(temp);
  55. }
复制代码

所有资料51hei提供下载:
serial.zip (7.65 KB, 下载次数: 63)





作者: suzhuorui    时间: 2019-8-15 16:00
运行这个程序  是不是需要别的什么东西呢    比如说单片机什么的




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1