QSerialPort】的更多相关文章

(草稿) qt5提供QSerialPort类,封装了串口的api, 可以用这个类写串口通信程序.…
环境: python3.6 pyqt5 只是简单的一个思路,请忽略脆弱的异常防护: # -*- coding: utf-8 -*- import sys from PyQt5.QtWidgets import * from PyQt5.QtSerialPort import QSerialPort, QSerialPortInfo from PyQt5.QtCore import pyqtSignal, QThread, QObject, QTimer class SerialWork(QObj…
添加某个功能,比如(QSerialPort),不仅需要保护头文件 还需要在.pro文件内添加 QT += serialport…
类:QSerialPort 例程:Examples\Qt-5.9.1\serialport\terminal,该例子完美展示了qt串口收发过程,直接在这上面修改就可以得到自己的串口软件.核心方法 //读串口QByteArray QSerialPort::readAll()//写串口qint64 QSerialPort::write(const QByteArray &data)1234注意事项:qt默认最大支持115200波特率,可以通过修改Qt5.9.1\5.9.1\msvc2013_64\i…
Qt 串口类QSerialPort 使用笔记 虽然现在大多数的家用PC机上已经不提供RS232接口了.但是由于RS232串口操作简单.通讯可靠,在工业领域中仍然有大量的应用.Qt以前的版本中,没有提供官方的对RS232串口的支持,编写串口程序很不方便.现在好了,在 Qt5.1 中提供了QtSerialPort模块,方便编程人员快速的开发应用串口的应用程序. 本文就简单的讲讲QtSerialPort模块的使用. 当前的QtSerialPort模块中提供了两个C++类,分别是QSerialPort …
QT5中已经增加了串口类QSrialPort,可以直接调用API函数进行快速开发. 1. 获取串口信息 Dialog::Dialog(QWidget *parent) : QDialog(parent) { const auto infos = QSerialPortInfo::availablePorts(); for (const QSerialPortInfo &info : infos) serialPortComboBox->addItem(info.portName()); }…
之前一章学习的是第三方库使用: 34.QT-qextserialport第三方库制作串口助手(并动态检测在线串口,附带源码) 本章来学习自带serial库 1.QSerialPortInfo QList<QSerialPortInfo> QSerialPortInfo::availablePorts(); //获取当前在线的串口设备 示例如下: foreach (const QSerialPortInfo &info, QSerialPortInfo::availablePorts()…
准备工作 *.pro中加入 QT += serialport 初始化 void MainWindow::initPort() { //读取串口信息 foreach (const QSerialPortInfo &info, QSerialPortInfo::availablePorts()) { qDebug()<<"Name:"<<info.portName(); qDebug()<<"Description:"<…
一.简介     QSerialPort类是Qt5封装的串口类,可以与串口进行通信.QSerialPortInfo是一个辅助类,提供串口的一些信息,如可用的串口名称,描述,制造商,序列号,串口16位产品编号等.利用QSerialPortInfo提供的可用串口信息,可设置串口波特率,并打开需要的串口进行通信. 二.使用 使用时要注意,通过找到计算机可用的串口,得到后,要调用setPortName或者setPortInfo使我们实例化的串口对象与我们想使用的可用串口进行映射.此时我们就可以使用QSe…
1.GPS型号为ublox(EVK-M8L),配有USB接口,Qt版本5.7 2.实现步骤: (1)实现串口通信 采用Qt5.7 内置的串口操作类QSerialPort和QSerialPortInfo,通过QSerialPortInfo提供的函数availablePorts(),可枚举出当前计算机中可用的com口.使用该类需在pro文件中添加: QT += serialport (2)筛选感兴趣的信号,解析 GPRMC数据包基本上包含经纬度.航向角.时间等常用的信号. 3.效果图 4.源码 4.…
最近在公司项目中开发串口,因为历史原因串口要包装一下,且包装类需要继承自一个纯C++类. QSerialPort可以使用slot function来获取从串口读到的数据,以及写入串口的bytes个数.因此就给自己的类加了对应的槽函数.代码示例如下: #include <QObject> class CBase { public: CBase(); ~CBase(); }; class CDerive:public CBase,public QObject { Q_OBJECT public:…
目录 第1章 Qt 串行通讯    1 1.1 配置.pro文件    1 1.2 查询串口信息    1 1.3 配置.打开串口    3 1.4 setRequestToSend在Windows上的BUG    5 1.5 读取串口数据    6 1.6 发送串口数据    7 1.7 同步读取    7 1.8 本文示例代码    8 1.9 Qt 示例代码    10 第1章 Qt 串行通讯 最近要在 Android 手机上开发串行通讯程序,为此学习了一下Qt的串行通讯.本文中,Qt的版…
1.怎样将选择波特率 1)使用if else 的方法     if(ui->BaudRate->currentText()==tr("9600"))   //根据组合框内容对串口进行设置       my_serialport->setBaudRate(QSerialPort::Baud9600);    else if(ui->BaudRate->currentText()==tr("115200")) 2)使用 switch cas…
未命名 (2) 1 新建串口 //new serial portmy_serialport= new QSerialPort(); 2给串口设定名字 my_serialport->setPortName(ui->comboBox->currentText()); 3打开串口 my_serialport->open(QIODevice::ReadWrite); 4设置串口的其他属性波特率,校验位,数据位,停止位.控制位 my_serialport->setBaudRate(ui…
@功能: SerialPortList 类实现当前可用的串口进行实时扫描,当发现有新的串口 或是现有串口消失时,SerialPortList类将发出一个QStringList类型的 信号onNewSerialPort,QStringList类型对象中存放当前可用的串口设备. @使用方法: 1.Qt版本需要高于5.1以上: 2.在新建Qt工程文件中时需要加入QSerialPort模块:即:在xxx.pro文件    中加入 Qt += serialport 3.在应用程序中定义一个曹,用于响应Se…
以下代码是自己测试门禁系统使用的 主要用到了串口的接收和发送  开发环境:xp  QT5.1.1 串口:38400   N  8  1 自动检测可用串口 在xp上测试没问题 有些usb转串口会出现波特率不准的问题,CH340的usb转232使用完全正常 以下为收发的线程.h 和.cpp两个文件 最后附上转sacii显示的代码 如果要参考的话,源代码已上传:http://download.csdn.net/detail/liang890319/6463227 #ifndef MYTHREAD_H…
在Qt5之前,串口通信基本依赖于第三方库,下面是我曾接触过的串口通信类库: 名称 语言 平台   QextSerialPort QT C++ Win/Linux http://sourceforge.net/projects/qextserialport/files/ QSerialPort QT C++ QT5已经集成 libserial C++ Linux http://files.cnblogs.com/kyyblabla/libserial-0.5.2.gz.7z 以上串口通信类库通信过…
对TK1中基于QT5的串口通信过程进行总结.按照软件安装及通信实现的顺序. 1.QT5安装 较简洁方式:打开软件中心(类似A形),搜索qtcreator,点击安装即可. 2.串口通信库安装 采用上述方式安装的QT5中不包含串口通信库,采用下面命令安装: sudo apt-get install libqt5serialport5-dev libudev-dev 3.串口通信 修改.pro文件,添加serialport库:头文件中添加 #include <QSerialPort> #includ…
1. Qt串口通信类QSerialPort 在Qt5的的更新中,新增了串口通信的相关接口类QSerialPort,这使得在开发者在使用Qt进行UI开发时,可以更加简单有效地实现串口通信的相关功能. 开发者可以简单地通过#include<QSerialPort>,来使用系统包含的库函数.然而这里有一个非常容易忽略的问题,会导致编译时的报错.在使用QSerialPort类之前,需要在Qt的配置文件即.pro文件中添加Qt += serialport. 2. 代码示例 a. 串口的初始化: QSer…
QT5.1以上版本自带QtSerialPort集成库,只要在头文件中集成 #include <QtSerialPort/QSerialPort> #include <QtSerialPort/QSerialPortInfo>这两个库,后续只需要调用函数,对串口名,读写方式,波特率,验证方式,数据位数,结束位进行相应设置,便可以连接相应串口进行通信. 部分代码: if(ui->pushButton->text()==tr("打开串口")){ my_se…
最近在做一个基于sim900 的串口通信工具,基于qml和c++来实现. 首先,对于串口,qt有自带的QSerialPort,可以实现同步,和异步通信,qt creator也有自带的例子,本例子是从其中一个名为“terminal”的例子学习了qt如何实现异步通信(c++),然后通过qml来写界面,逻辑部分由c++实现. 通过qmlc++混合编程基于QSerialPort的异步通信(记得在pro中加上QT+=serialport),主要步骤包括下面几个: 1.使用setPort()或者setPor…
QT之深入理解QThread       理解QThread之前需要了解下QThread类,QThread拥有的资源如下(摘录于QT 5.1 帮助文档):       在以上资源中,本文重点关注槽:start():信号:started().finished():受保护的方法:run().exec():   理解QThread     QThread与通常所熟知的线程(thread)有很大出入,在面向过程的语言中,我们建立一个线程的同时会传入一个函数名,这个函数名代表该线程要执行的具体代码(如图…
串口中我要把奇偶校验等enum数据对应写到一个ComboBox中去,所以需要在我的Settings类中加入一个函数用来转换. 这里,我首先在settings.h的class Settings中加上对该函数的声明 class Settings : public QDialog { Q_OBJECT public: ); ~Settings(); QString &stopbit2string(enum QSerialPort::StopBits stop); QString &parity2…
QtSerialPort 今天我们来介绍一下QtSerialPort模块的源代码,学习一下该可移植的串口编程库是怎么实现的. 首先,我们下载好了源代码之后,使用QtCreator打开整个工程,可以看到如下图的源代码结构: 我们先来看一下serialport-lib.pri这个文件,serialport.pro工程文件就是靠这个文件来控制整个源代码的编译的.,具体内容如下: 上面的内容只是最基本的类,大家知道,跨平台的类一般在底层都包含这与操作系统相关的一些实现,这里也不例外,大家看看下面的图就明…
树莓派中QT实现I2C 在QT中实现 I2C 使用的驱动为 wiringPi 库的引入 LIBS += -lwiringPi LIBS += -lwiringPiDev 代码实现 widget.h 中 记得引入"wiringPiI2C.h"等 此处,我使用的是读取传感器adxl345加速度计 #include <QWidget> #include <QtSerialPort/QSerialPort> #include <QtSerialPort/QSeri…
树莓派中QT实现串口通讯 开发平台为QT 此博客QT使用的为WiringPi驱动 我使用的串口调试助手为 cutecom 先简单说一些开发过程中需要注意的问题 Linux 下设备为 tty ,对应在 windows 下为 COM ttyS0 与 ttyUSB0 不是一个东西 raspi-config 中, serial 应该被打开, 但是 Serial Console 不应该被打开,除非你想要用 Serial Console 去作为终端来控制树莓派 默认pin8,10 是作为 Serial1 分…
1.linux下的qt串口通信跟windows唯一的差别就是端口号的名字,windows下面是COM,而linux是ttyUSB0的路径 2.一般情况下linux插上USB转串口线就可以在/dev/目录下看到类似ttyUSB0之类的串口号 3.初始化 my_serialPort = new QSerialPort(this); my_serialPort->setPortName("/dev/ttyUSB0");//端口号 4.如果运行程序,出现串口打不开的错误情况的话,可能是权…
DIY 空气质量检测表 前几天逛淘宝看到有空气颗粒物浓度测量的传感器,直接是 3.3V TTL 电压串口输出的,也不贵,也就 100 多一点.觉得挺好就买了个,这两天自己捣鼓了个小程序,搞了个软件界面的空气质量检测表.程序写的很简单,但是感觉这个小软件还是挺实用的,所以就写篇博客,大家用我的代码很容易就自己 DIY 一套. 硬件准备 传感器用的是 攀藤科技 PMS7003M .除了攀藤科技,还有几家这种传感器做的应该也不错,不过我没去用过,也没仔细调研.(之所以用的这家,不过是因为在 newsm…
if(ui->connectSerialBtn->text() == tr("打开串口")) { //ui->showSerialInfo->setEnabled(false); ui->connectSerialBtn->setText(tr("关闭串口")); myPort->setPortName(ui->serialNameComboBox->currentText()); myPort->setB…
串口数据传输: Step1:串口数据的发送和接收过程,我们需要单独的添加串口的相关模块进去,模块名称叫做serialport,我们需要建立的工程是QMainWindow的基类程序,不是QWidget程序 我们添加的位置是在xxx.pro文件当中,改文件如前所述,是包含当前工程所需要的核心模块的文件: QT += core gui serialport 这里添加了core.gui.serialprot三个核心需要使用到的模块. Step2:完成整个串口通讯程序的UI界面的设计工作: <?xml v…