Qt5自带串口调试 --使用signal接收数据,自动侦测端口列表
来源:互联网 发布:淘宝怎么上代购保健品 编辑:程序博客网 时间:2024/05/16 00:37
Qt5自带串口初步用一下感觉还不错。
调试记录
.pro文件增加
QT += serialport
.h文件增加
#include <QtSerialPort/QSerialPort>
#include <QtSerialPort/QSerialPortInfo>
private slots: void my_readuart();//串口接收数据槽函数
private:
QSerialPort *my_serialport;
.cpp文件
构造函数内
foreach (const QSerialPortInfo &info, QSerialPortInfo::availablePorts()) { QSerialPort serial; serial.setPort(info); if (serial.open(QIODevice::ReadWrite)) { ui->comboBox->addItem(info.portName()); ui->textEdit->append(tr("检测到端口列表:")); ui->textEdit->append(info.portName()); ui->textEdit->append(info.description()); ui->textEdit->append(info.manufacturer()); serial.close(); } } my_serialport= new QSerialPort(); ui->pushButton_3->setEnabled(false); ui->comboBox_2->setCurrentIndex(1);//默认9600
开启串口按钮槽函数
void MainWindow::on_pushButton_clicked(){// my_serialport= new QSerialPort(); my_serialport->setPortName(ui->comboBox->currentText()); my_serialport->open(QIODevice::ReadWrite); my_serialport->setBaudRate(ui->comboBox_2->currentText().toInt()); my_serialport->setDataBits(QSerialPort::Data8); my_serialport->setParity(QSerialPort::NoParity); my_serialport->setStopBits(QSerialPort::OneStop); my_serialport->setFlowControl(QSerialPort::NoFlowControl); connect(my_serialport,SIGNAL(readyRead()),this,SLOT(my_readuart())); ui->pushButton->setEnabled(false);//禁止打开串口按钮 ui->pushButton_3->setEnabled(true);//允许关闭串口按钮}
读串口槽函数
void MainWindow::my_readuart(){ QByteArray requestData; requestData = my_serialport->readAll(); if(requestData!= NULL) { ui->textEdit->append(tr(requestData)); } requestData.clear();}
发送数据槽函数
void MainWindow::on_pushButton_2_clicked(){ my_serialport->write(ui->lineEdit->text().toLatin1());}
void MainWindow::on_pushButton_3_clicked(){ my_serialport->clear(); ui->pushButton->setEnabled(true); ui->pushButton_3->setEnabled(false); // my_serialport->deleteLater();}
测试时使用9600波特率,数据接收反映很迅速,不需要Qt4中要检测接收缓冲区是否有剩余数据的问题。
做一一个简单的串口调试助手,源代码分享给大家
http://download.csdn.net/detail/yh_1988/8236443
2 0
- Qt5自带串口调试 --使用signal接收数据,自动侦测端口列表
- 串口速率自动侦测
- Qt5中自带串口类QtSerialPort
- Qt5 自带 串口通讯基础模块
- Linux下串口调试及使用shell编程接收数据
- Linux下串口调试及使用shell编程接收数据
- struts2--使用自带标签自动添加列表
- tcpdump 侦测网络端口数据
- tcpdump 侦测网络端口数据
- tcpdump 侦测网络端口数据
- serialPort控件串口自动接收数据代码
- QT5 串口(com)通信_16进制数发送与接收以及接收数据提取
- Qt5.2的串口类接收不到串口数据,和事件机制
- 关于STM32串口调试RS485时自动进入接收中断
- STM32F334使用串口发送接收数据
- Python使用线程来接收串口数据
- 多线程串口接收数据 | 全局变量的使用
- msp430串口接收调试
- JAVA中转义字符
- 修改ls显示的时间格式
- 【PyQt4 实例28】保存窗口状态
- his message is already in use
- Python中的and、or、and-or
- Qt5自带串口调试 --使用signal接收数据,自动侦测端口列表
- 第15周项目 3.2 OJ
- IOS之禁用UIWebView的默认交互行为
- SVN 出现 database disk image is malformed
- 浅析郭婶儿子--LitePal框架(二)
- 获取一组radio中checked的value值
- Nginx+tomcat 实现负载均衡和动静分离
- HDU 5139 Formula(数据离线处理)
- Effective C++ Item02 Note