qt 串口
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 串口的更多相关文章
- Qt串口通信
1. Qt串口通信类QSerialPort 在Qt5的的更新中,新增了串口通信的相关接口类QSerialPort,这使得在开发者在使用Qt进行UI开发时,可以更加简单有效地实现串口通信的相关功能. 开 ...
- linux下的qt串口通信
1.linux下的qt串口通信跟windows唯一的差别就是端口号的名字,windows下面是COM,而linux是ttyUSB0的路径 2.一般情况下linux插上USB转串口线就可以在/dev/目 ...
- QT5入门之23 -QT串口编程(转)
QT5入门之23 -QT串口编程 QT5有专门的串口类: QSerialPort:提供访问串口的功能 QSerialPortInfo:提供系统中存在的串口的信息 具体使用方法: 1.在pro文件中 ...
- 【转】QT 串口QSerialPort + 解决接收数据不完整问题
类:QSerialPort 例程:Examples\Qt-5.9.1\serialport\terminal,该例子完美展示了qt串口收发过程,直接在这上面修改就可以得到自己的串口软件.核心方法 // ...
- Linux 虚拟串口及 Qt 串口通信实例
Linux 虚拟串口及 Qt 串口通信实例 2011-06-22 17:49 佚名 互联网 字号:T | T Linux 虚拟串口及 Qt 串口通信实例是本文所要介绍的内容,在实现过程中,打开了两个伪 ...
- Qt 串口类QSerialPort 使用笔记
Qt 串口类QSerialPort 使用笔记 虽然现在大多数的家用PC机上已经不提供RS232接口了.但是由于RS232串口操作简单.通讯可靠,在工业领域中仍然有大量的应用.Qt以前的版本中,没有提供 ...
- Qt 串口连接
Qt 串口连接 使用 Qt 开发上位机程序时,经常需要用到串口,在 Qt 中访问串口比较简单,因为 Qt 已经提供了 QSerialPort 和 QSerialPortInfo 这两个类用于访问串口. ...
- QT串口通信编程
QT串口编程 文件夹目录结构如下图所示 设计的示例界面如下图所示 首先在项目文件里面添加一句 QT += serialport SerialPortDemo.pro文件如下: #----------- ...
- QT串口助手(三):数据接收
作者:zzssdd2 E-mail:zzssdd2@foxmail.com 一.前言 开发环境:Qt5.12.10 + MinGW 实现的功能 串口数据的接收 ascii字符形式显示与hex字符形式显 ...
- QT串口助手(四):数据发送
作者:zzssdd2 E-mail:zzssdd2@foxmail.com 一.前言 开发环境:Qt5.12.10 + MinGW 实现的功能 串口数据的发送 ascii字符与hex字符的相互转换 自 ...
随机推荐
- 2018-2019-2 网络对抗技术 20165225 Exp5 MSF基础应用
2018-2019-2 网络对抗技术 20165225 Exp5 MSF基础应用 验前准备 本实践目标是掌握metasploit的基本应用方式,重点常用的三种攻击方式的思路.具体需要完成: 一个主动攻 ...
- 微信小程序区分点击,长按事件
在上代码之前,微信小程序点击事件,长按事件的触发顺序需要我们了解一下下 事务分类 touchstart:手指触摸 longtap:手指触摸后后,超过350ms离开 touchend:手指触摸动作结束 ...
- ajax 未加载出数据时,显示loding,数据显示后,隐藏loading
$("#CreateReport").click(function () { // RptID,Template,TemplateType,FileName var RptID = ...
- 常用的 jQuery 事件
$(document).ready(): $(document).ready() 方法允许我们在文档完全加载完后执行函数. click(): click() 方法是当按钮点击事件被触发时会调用一个函数 ...
- 【托业】【怪兽】TEST03
101. engage [ɪnˈgeɪdʒ] v.参与 102. toner [ˈtəʊnə(r)]n.碳粉匣 103. surveillance [sɜ:ˈveɪləns]n.监控 105. i ...
- [PCL]模型拟合方法——随机采样一致性
SACSegmentation封装了多种Ransac方法,包括: RandomSampleConsensus, LeastMedianSquares, MEstimatorSampleConsensu ...
- Oracle控制文件冗余
1.备份参数文件.检查控制文件.检查磁盘组名 sqlplus / as sysdba !echo "create pfile='$HOME/pfile_$ORACLE_SID_`date + ...
- html-webpack-plugin插件使用时参数配置
ERROR in multi main Module not found: Error: Cannot resolve 'file' or 'directory' ./public/pages/ind ...
- 白话skynet第二篇:skynet的通信调试pack和sprotol
今天来说说Skynet客户端和服务端网络通信的基础部分. Skynet当前版本.lua是skynet自带的5.3版本. 根据示例,我们可以知道.通信的步骤如下. 客户端按大小端打包成二进制. sock ...
- Kafka笔记7(构建数据管道)
构建数据管道需要考虑的问题: 及时性 可靠性 高吞吐量和动态吞吐量 数据格式 转换 安全性 故障处理能力 耦合性与灵活性 数据管道的构建分为2个阵营,ETL和ELT ETL:提取- ...