Qt 串口相关配置
QSerialPort M_serialPort;
QSerialPortInfo M_SerialPortInfo;
void MainWindow::on_M_portNumComboBox_currentIndexChanged(const QString &arg1)
{
#ifdef MAIN_DEBUG
qDebug()<<"M_serialPort : " <<arg1;
#endif
if(M_SerialPortInfo.portName() == arg1)
{
M_serialPort.setPortName(M_SerialPortInfo.portName());
}
else
{
qDebug()<<"M没有此串口";
}
}
//获取并设置M串口信息
void MainWindow::on_M_stopBitComboBox_currentIndexChanged(int index)
{
#ifdef MAIN_DEBUG
qDebug()<<"M_serialPort.stopBit : " <<index;
#endif
switch (index)
{
case 0:
M_serialPort.setStopBits(QSerialPort::OneStop);
break;
case 1:
M_serialPort.setStopBits(QSerialPort::TwoStop);
break;
default:
M_serialPort.setStopBits(QSerialPort::UnknownStopBits);
break;
}
}
void MainWindow::on_M_baudRateComboBox_currentIndexChanged(int index)
{
#ifdef MAIN_DEBUG
qDebug()<<"M_serialPort.baudRate : " <<index;
#endif
switch (index)
{
case 0:
M_serialPort.setBaudRate(QSerialPort::Baud1200,QSerialPort::AllDirections);
break;
case 1:
M_serialPort.setBaudRate(QSerialPort::Baud2400,QSerialPort::AllDirections);
break;
case 2:
M_serialPort.setBaudRate(QSerialPort::Baud4800,QSerialPort::AllDirections);;
break;
case 3:
M_serialPort.setBaudRate(QSerialPort::Baud9600,QSerialPort::AllDirections);;
break;
case 4:
M_serialPort.setBaudRate(QSerialPort::Baud19200,QSerialPort::AllDirections);;
break;
case 5:
M_serialPort.setBaudRate(QSerialPort::Baud38400,QSerialPort::AllDirections);;
break;
case 6:
M_serialPort.setBaudRate(QSerialPort::Baud57600,QSerialPort::AllDirections);;
break;
case 7:
M_serialPort.setBaudRate(QSerialPort::Baud115200,QSerialPort::AllDirections);;
break;
default:
M_serialPort.setBaudRate(QSerialPort::UnknownBaud,QSerialPort::AllDirections);;
break;
}
}
void MainWindow::on_M_parityBitComboBox_currentIndexChanged(int index)
{
#ifdef MAIN_DEBUG
qDebug()<<"M_serialPort.parityBit : " <<index;
#endif
switch (index)
{
case 0:
M_serialPort.setParity(QSerialPort::NoParity);
break;
case 1:
M_serialPort.setParity(QSerialPort::OddParity);
break;
case 2:
M_serialPort.setParity(QSerialPort::EvenParity);
default:
M_serialPort.setParity(QSerialPort::UnknownParity);
break;
}
}
void MainWindow::on_M_digitBitComboBox_currentIndexChanged(int index)
{
#ifdef MAIN_DEBUG
qDebug()<<"M_serialPort.dataBit : " <<index;
#endif
switch (index)
{
case 0:
M_serialPort.setDataBits(QSerialPort::Data5);
break;
case 1:
M_serialPort.setDataBits(QSerialPort::Data6);
break;
case 2:
M_serialPort.setDataBits(QSerialPort::Data7);
break;
case 3:
M_serialPort.setDataBits(QSerialPort::Data8);
break;
default:
M_serialPort.setDataBits(QSerialPort::UnknownDataBits);
break;
}
}
void MainWindow::on_M_dataFlowComboBox_currentIndexChanged(int index)
{
#ifdef MAIN_DEBUG
qDebug()<<"M_serialPort.dataFlow : " <<index;
#endif
switch (index)
{
case 0:
M_serialPort.setFlowControl(QSerialPort::NoFlowControl);
break;
case 1:
M_serialPort.setFlowControl(QSerialPort::HardwareControl);
break;
case 2:
M_serialPort.setFlowControl(QSerialPort::SoftwareControl);
default:
M_serialPort.setFlowControl(QSerialPort::UnknownFlowControl);
break;
}
}
void MainWindow::on_M_openSerialPortButton_clicked()
{
bool comState = M_serialPort.open(QIODevice::ReadWrite);//打开串口并选择读写模式
if(comState)
{
ui->statusBar->showMessage("M串口打开成功");
}
else
{
ui->statusBar->showMessage("M串口打开失败");
}
}
void MainWindow::on_M_closeSerialPortButton_clicked()
Qt 串口相关配置的更多相关文章
- Qt串口通信
1. Qt串口通信类QSerialPort 在Qt5的的更新中,新增了串口通信的相关接口类QSerialPort,这使得在开发者在使用Qt进行UI开发时,可以更加简单有效地实现串口通信的相关功能. 开 ...
- Qt 串口通信
在Qt5之前,串口通信基本依赖于第三方库,下面是我曾接触过的串口通信类库: 名称 语言 平台 QextSerialPort QT C++ Win/Linux http://sourceforge. ...
- QT+VS2013 1配置和安装
相关参考:http://www.cnblogs.com/ranjiewen/p/5318768.html 1下载 VS2013 微软官网查找 https://www.visualstudio.com ...
- 【转】QT 串口QSerialPort + 解决接收数据不完整问题
类:QSerialPort 例程:Examples\Qt-5.9.1\serialport\terminal,该例子完美展示了qt串口收发过程,直接在这上面修改就可以得到自己的串口软件.核心方法 // ...
- 通过minicom传送文件的相关配置及使用方法
写一下我使用串口向开发板传送文件中遇到的问题及解决办法: 使用的软硬件环境: 虚拟机:VMware® Workstation 8.0.1 Linux操作系统:Fedora 9 开发板:mini6410 ...
- 迅为iTOP-4418开发板串口虚拟控制台配置为普通串口
如何将 iTOP-4418 的串口控制台配置为普通串口.在最终的产品中,如果需要额外的串口,可以将调试用的控制台串口作为普通串口使用,因为交付给最终用户手中的产品,一般不需要调试串口.屏蔽串口控制台需 ...
- QT串口助手(三):数据接收
作者:zzssdd2 E-mail:zzssdd2@foxmail.com 一.前言 开发环境:Qt5.12.10 + MinGW 实现的功能 串口数据的接收 ascii字符形式显示与hex字符形式显 ...
- zookeeper集群的搭建以及hadoop ha的相关配置
1.环境 centos7 hadoop2.6.5 zookeeper3.4.9 jdk1.8 master作为active主机,data1作为standby备用机,三台机器均作为数据节点,yarn资源 ...
- Linux网络相关配置
一.修改网卡相关配置 Linux网络参数是在/etc/sysconfig/network-scripts/ifcfg-eth0中设置,其中ifcfg-eth0表示是第一个网卡,如果还有另外一块网卡,则 ...
- ios开发之Info.plist文件相关配置
前言:在iOS开发中有些情况下需要对Info.plist文件进行配置,以下介绍几种相关配置.以后遇到需要配置的再更新... 开发环境:swift3.0.1,Xcode8.1 一,项目中需要使用第三方字 ...
随机推荐
- 面试笔记1-redis
1.什么是RDB? RDB实际上是Redis的一种数据持久化机制.它每隔一段时间就会把内存中的数据写入到磁盘中的临时文件,作为快照,宕机重启之后,就会把rdb文件读取到内存中去,就可以恢复数据. 2. ...
- redis 5.0.5集群部署与服务器宕机故障模拟
背景 业务稳定性要求需要一套redis集群来保障 因此采用 redis cluster 集群 环境 名称 ip地址 cpu 内存 master端口 slave端口 redis-651 10.65.6. ...
- el-table多选框根据条件隐藏显示
提供一个方法, 通过添加相应类来控制样式,设置 display: none ,达到隐藏 checkbox 的目的. 利用Table Attributes 属性里面的 cell-class-name 属 ...
- CF14D题解
CF14D Two Paths题解 题目链接 传送门 题意简述 给定一棵树,找出两条不经过相同点的最长路径,使得他们的长度乘积最大. 题目分析 首先,如果在一棵树上,两条路径没有共同的点,那么这两条路 ...
- Cannot read property 'xxxx' of null
在使用的vue3+element-plus的项目中,我使用了form表单对数据进行校验. 但是使用了: refDom.value.validate((valid) => {}) 后,过一会控制台 ...
- Kubernetes部署的10个注意事项
摘要 容器开发有望在云中实现前所未有的可移植性和可扩展 性.此外,DevOps 开发和文化实践也有助于提升业务价 值和响应能力.但是,在开始第一个容器开发项目之前, 有一些问题需要考虑清楚:我们应该使 ...
- vue封装全局确认弹窗
下载文件1.弹窗组件 <template> <view class="bombFrame" v-if="bshow" :class=" ...
- 关于视频加密ts格式转MP4的方法
copy /b "%~dp0"\*.ts "%~dp0"\new.ts 最近在手机浏览器上下载了钢铁侠等漫威电影,觉得不错想保存到手机上,却都又是m3u8格式, ...
- WPF 使用Path(自定义控件,圆形进度条)
原文:https://www.cnblogs.com/tsliwei/p/5609035.html 原文链接:https://blog.csdn.net/johnsuna/article/detail ...
- 高效XML绑定框架JIBX
高效XML绑定框架JIBX demo源码地址 https://gitee.com/clover-clover/clover.git 具体路径: clover/clover-frame/clover-f ...