找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 4467|回复: 1
打印 上一主题 下一主题
收起左侧

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)




分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏1 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:600448 发表于 2019-8-15 16:00 | 只看该作者
运行这个程序  是不是需要别的什么东西呢    比如说单片机什么的
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表