if(ui->connectSerialBtn->text() == tr("打开串口"))
{
//ui->showSerialInfo->setEnabled(false);
ui->connectSerialBtn->setText(tr("关闭串口"));
myPort->setPortName(ui->serialNameComboBox->currentText());
myPort->setBaudRate(ui->baudRateComboBox->currentText().toInt());
myPort->setDataBits(QSerialPort::Data8);
myPort->setParity(QSerialPort::NoParity);
myPort->setStopBits(QSerialPort::OneStop);
myPort->setFlowControl(QSerialPort::NoFlowControl);
if(myPort->open(QIODevice::ReadWrite))
{
connect(myPort,SIGNAL(readyRead()),this,SLOT(readSerial()));
}
else
{
QMessageBox::information(this,tr("串口配置"),tr("打开串口失败!"));
//ui->showSerialInfo->setEnabled(true);
ui->connectSerialBtn->setText("打开串口");
}
}
else
{
//关闭串口
myPort->close();
ui->connectSerialBtn->setText("打开串口");
//ui->showSerialInfo->setEnabled(true);
}

显示串口信息

 //显示串口信息 选择正确串口名
ui->serialMsgEdit->clear();
foreach (const QSerialPortInfo &info , QSerialPortInfo::availablePorts()) {
QSerialPort serial;
serial.setPort(info);
if(serial.open(QIODevice::ReadWrite))
{
ui->serialNameComboBox->addItem(info.portName());
int count = ui->serialNameComboBox->count();
for(int i = ;i<count;i++)
{
QString str1 = ui->serialNameComboBox->itemText(i);
for(int j = i+;j<count;j++)
{
QString str2 = ui->serialNameComboBox->itemText(j);
if(str1 == str2)
{
ui->serialNameComboBox->removeItem(j);
count--;
j--;
}
}
}
ui->serialMsgEdit->append(tr("检测到端口列表:"));
ui->serialMsgEdit->append(info.portName());
ui->serialMsgEdit->append(info.description());
ui->serialMsgEdit->append(info.manufacturer());
serial.close();
}
}

qt 串口的更多相关文章

  1. Qt串口通信

    1. Qt串口通信类QSerialPort 在Qt5的的更新中,新增了串口通信的相关接口类QSerialPort,这使得在开发者在使用Qt进行UI开发时,可以更加简单有效地实现串口通信的相关功能. 开 ...

  2. linux下的qt串口通信

    1.linux下的qt串口通信跟windows唯一的差别就是端口号的名字,windows下面是COM,而linux是ttyUSB0的路径 2.一般情况下linux插上USB转串口线就可以在/dev/目 ...

  3. QT5入门之23 -QT串口编程(转)

    QT5入门之23 -QT串口编程   QT5有专门的串口类: QSerialPort:提供访问串口的功能 QSerialPortInfo:提供系统中存在的串口的信息 具体使用方法: 1.在pro文件中 ...

  4. 【转】QT 串口QSerialPort + 解决接收数据不完整问题

    类:QSerialPort 例程:Examples\Qt-5.9.1\serialport\terminal,该例子完美展示了qt串口收发过程,直接在这上面修改就可以得到自己的串口软件.核心方法 // ...

  5. Linux 虚拟串口及 Qt 串口通信实例

    Linux 虚拟串口及 Qt 串口通信实例 2011-06-22 17:49 佚名 互联网 字号:T | T Linux 虚拟串口及 Qt 串口通信实例是本文所要介绍的内容,在实现过程中,打开了两个伪 ...

  6. Qt 串口类QSerialPort 使用笔记

    Qt 串口类QSerialPort 使用笔记 虽然现在大多数的家用PC机上已经不提供RS232接口了.但是由于RS232串口操作简单.通讯可靠,在工业领域中仍然有大量的应用.Qt以前的版本中,没有提供 ...

  7. Qt 串口连接

    Qt 串口连接 使用 Qt 开发上位机程序时,经常需要用到串口,在 Qt 中访问串口比较简单,因为 Qt 已经提供了 QSerialPort 和 QSerialPortInfo 这两个类用于访问串口. ...

  8. QT串口通信编程

    QT串口编程 文件夹目录结构如下图所示 设计的示例界面如下图所示 首先在项目文件里面添加一句 QT += serialport SerialPortDemo.pro文件如下: #----------- ...

  9. QT串口助手(三):数据接收

    作者:zzssdd2 E-mail:zzssdd2@foxmail.com 一.前言 开发环境:Qt5.12.10 + MinGW 实现的功能 串口数据的接收 ascii字符形式显示与hex字符形式显 ...

  10. QT串口助手(四):数据发送

    作者:zzssdd2 E-mail:zzssdd2@foxmail.com 一.前言 开发环境:Qt5.12.10 + MinGW 实现的功能 串口数据的发送 ascii字符与hex字符的相互转换 自 ...

随机推荐

  1. hue,kylin,ambari

    apache-kylin https://ambari.apache.org/ https://www.jianshu.com/p/c49c61b654da docker pull sequencei ...

  2. Web开发(XAMPP服务器搭建)

    XAMPP是一个功能强大的搭建服务器环境的软件集成包.它集成了Apache.MySql.php.perl这几个服务器常用的软件.而我们在使用时,省去了安装这些软件的步骤,只需要下载XAMPP,解压缩. ...

  3. Express全系列教程之(九):将session上传至mysql数据库

    一.简介 实际引用中,有些公司在不同地区会设置不同服务器,因此就需要用到nginx以实现负载均衡,这时,将session数据保存至数据库就成为了需要面对的问题,我们以MySQL数据库为例,看看他是如何 ...

  4. Java博客目录

    JavaWeb 1.Tomcat使用 2.Servlet入门 3.JSP&EL&JSTL 4.Listener&Filter Java框架 Hibernate 1.简介及初使用 ...

  5. MySQL中实现连续日期内数据统计,缺省天数0补全

    某一日,需要查询订单表中一个月每天的金额数 查询出数据如下: array(14) { [0] => array(2) { ["money"] => string(7) ...

  6. 【VIM】-NO.140.VIM.1 -【VIM】

    Style:Mac Series:Java Since:2018-09-10 End:2018-09-10 Total Hours:1 Degree Of Diffculty:5 Degree Of ...

  7. UML作业第二次:类图中类的表示

    1.关于类图的学习: 类图显示了系统的静态结构. 类:类图中的主要元素,用矩形表示.矩形的上层表示类名.中层表示属性.下层表示方法. 类之间的关系:关联.依赖.聚集.泛化和实现五种. 2.五种类间关系 ...

  8. MongoDB系列----查

    开启查询: db.getMongo().setSlaveOk() 查版本: db.servion(); db.serverBuildInfo(); db.serverStatus().storageE ...

  9. FB面经Prepare: Email User

    有一些账号,账号里面有一个或多个email, 如果两个账号有共同的email,则认为这两个账号是同一个人,找出哪些账号是同一个人 输入是这样的:数字是用户,字母是邮箱,有很多人有多个邮箱,找出相同的用 ...

  10. 利用RALL机制来事项String类的赋值操作

    class String{ public: char *str; String(const char *ptr=NULL){ if(ptr==NULL) { str=NULL; }else{ str= ...