qt 操作串口
第三方类下载
https://sourceforge.net/projects/qextserialport/files/
目录介绍
搭建工程
拷贝qextserialbase.cpp、qextserialbase.h、win_qextserialport.cpp和win_qextserialport.h
到自己的工程下
//添加头文件
#include "win_qextserialport.h"
//添加串口定义
Win_QextSerialPort *Com;
//添加槽函数
private slots:
void readCom(); //当接收到数据,会有信号
void on_pushButton_clicked(); //发送按钮,产生信号
初始化
//定义串口对象,指定串口名和查询模式,这里使用事件驱动EventDriven
Com = new Win_QextSerialPort("COM2", QextSerialBase::EventDriven);
//以读写方式打开串口
if(Com->open(QIODevice::ReadWrite) == false)
{
QMessageBox::warning(this, tr("warning"), tr("COM2 open failed."));
}
Com->setBaudRate(BAUD9600);
Com->setDataBits(DATA_8);
Com->setParity(PAR_NONE);
Com->setStopBits(STOP_1);
Com->setFlowControl(FLOW_OFF);
connect(Com,SIGNAL(readyRead()),this,SLOT(readCom()));
connect(button,SIGNAL(clicked()),this,SLOT(on_pushButton_clicked()));
读
void MainWindow::readCom()
{
qDebug() << "read: "<< Com->bytesAvailable() << "bytes";
//读取串口缓冲区的所有数据给临时变量data
QByteArray data = Com->readAll();
//将串口的数据显示在窗口的文本浏览器中
ui->textBrowser->insertPlainText(data);
}
写
void MainWindow::on_pushButton_clicked() //发送数据
{
//以ASCII码形式将数据写入串口
Com->write(ui->lineEdit->text().toAscii());
qDebug() << "write: "<< Com->bytesToWrite() << "bytes";
}
实际效果
经测试,在Win10运行,串口数据异常,还未找到原因
建议使用:https://blog.csdn.net/zhangxuechao_/article/details/81154296
qt 操作串口的更多相关文章
- qt 操作串口 QSerialPort
准备工作 *.pro中加入 QT += serialport 初始化 void MainWindow::initPort() { //读取串口信息 foreach (const QSerialPort ...
- Qt编写串口通信程序全程图文解说
(说明:我们的编程环境是windows xp下,在Qt Creator中进行,假设在Linux下或直接用源代码编写,程序稍有不同,请自己修改.) 在Qt中并没有特定的串口控制类,如今大部分人使用的是第 ...
- 转:Qt编写串口通信程序全程图文讲解
转载:http://blog.csdn.net/yafeilinux/article/details/4717706 作者:yafeilinux (说明:我们的编程环境是windows xp下,在Q ...
- Qt编写串口通信程序全程图文讲解 .
在Qt中并没有特定的串口控制类,现在大部分人使用的是第三方写的qextserialport类,我们这里也是使用的该类.我们可以去 http://sourceforge.net/projects/qex ...
- 【转】Qt编写串口通信程序全程图文讲解
本文章原创于www.yafeilinux.com 转载请注明出处. (说明:我们的编程环境是windows xp下,在Qt Creator中进行,如果在Linux下或直接用源码编写,程序稍有不同,请自 ...
- QT 操作数据库
整理一下 QT 操作数据库的一些要点,以备以后的查询学习(主要是操作 mysql ). 首先,要查询相关的驱动是否已经装好了,可以用以下的程序进行验证: #include <QtCore/QCo ...
- C#操作串口总结
Technorati 标签: C#,SerialPort,ReadTo,ReadTimeout 最近几天一直在调一个要长时间连续不断的操作串口,并且是多线程运行,不允许中断的服务.后来服 ...
- 树莓派中QT实现串口通讯
树莓派中QT实现串口通讯 开发平台为QT 此博客QT使用的为WiringPi驱动 我使用的串口调试助手为 cutecom 先简单说一些开发过程中需要注意的问题 Linux 下设备为 tty ,对应在 ...
- MSComm控件与Win32 API操作串口有何区别?
MSComm控件与Win32 API操作串口有何区别? [问题点数:50分,结帖人shell_shell] 收藏帖子 回复 我是一个小兵,在战场上拼命! 结帖率 83.33% 我以前用MSCo ...
随机推荐
- Mybatis-Plus Bugs
Mybatis-Plus Bugs 实体类中属性和数据库字段对应异常 Caused by: java.sql.SQLSyntaxErrorException: Unknown column 'user ...
- window.open()与window.showModuleDialog()
一.window.showModalDialog() 模态对话框. (只支持IE浏览器)window.showModelessDialog() 非模态对话框. 基本语法:vReturnVa ...
- <String> 345 205
345. Reverse Vowels of a String 头尾指针开始扫描. String.contains(char) class Solution { public String rever ...
- 基于Redis实现分布式定时任务调度
项目开发过程中,难免会有许多定时任务的需求进来.如果项目中还没有引入quarzt框架的情况下,我们通常会使用Spring的@Schedule(cron="* * * * *")注解 ...
- prometheus consul docker redis_exporter 自动注册配置
0.启动redis_exporter redis_exporter: version: '2'services: redis_exporter: image: oliver006/redis_expo ...
- GNU Wget 1.14 用法
GNU Wget 1.14,非交互式的网络文件下载工具.用法: wget [选项]... [URL]... 长选项所必须的参数在使用短选项时也是必须的. 启动: -V, --version ...
- Vue.js 源码分析(十三) 基础篇 组件 props属性详解
父组件通过props属性向子组件传递数据,定义组件的时候可以定义一个props属性,值可以是一个字符串数组或一个对象. 例如: <!DOCTYPE html> <html lang= ...
- 【C++】如何使用GCC生成动态库和静态库
一.静态库和动态库的定义及区别 程序编译的四个过程: 1.预处理 展开头文件/宏替换/去掉注释/条件编译(.i后缀) 2.编译 检查语法,生成汇编(.s后缀) 3.汇编 汇编代码转换成机 ...
- RecyclerView预览数据
我们在布局文件里定义RecyclerView时,可以使用tools属性预览数据,如下: <android.support.v7.widget.RecyclerView android:layou ...
- 【linux】CentOS 查看系统时间,修改时区
===============CentOS 7.6================ 1.查看系统时间 date 查看当前系统时间以及时区结果是: Mon Jul 8 09:23:31 UTC 2019 ...