码迷,mamicode.com
首页 > 其他好文 > 详细

qt串口

时间:2019-09-15 18:58:59      阅读:116      评论:0      收藏:0      [点我收藏+]

标签:ada   建立   sig   缓冲区   mode   ext   readwrite   TBase   流控制   

qt串口通信:
#ifdef _TTY_POSIX
#include "posix_qextserialport.h"
#define QextBaseType Posix_QextSerialPort
#else
#include "win_qextserialport.h"
#define "QextBaseTypeport.h"
#define QextBaseType Win_QexSerialPort
#endif
QextSerialBase类中 QueryMode读取串口的方式:
Polling :建立定时器 读取串口信息
EventDrrivent: 一旦有数据发出readyRead()信号
设置串口为事件驱动模式
mycom = new Win_QextSerialPort("COM1",QextSerialBase::EventDriven);
mycom->open(QIODevice::ReadWrite);
mycom->setBaudRate(BAUD9600);
mycom->setDataBits(DATA_8);
mycom->serParity(PAR_NONE);
mycom->setStopBits(STOP_1);
mycom->setFlowControl(FLOW_OFF);数据流控制
mycom->setTimeout(500);
connect(mycom,SIGNAL(readyRead()),this,SLOT(readMycom()));

void Widget::readMycom()
{
 if(mycom->buteAvailable()>= 8)
 {
  QByteArray temp = mycom->readAll();
  ui->textBrowser->insertPlainText(Temp);
 }
}
使用Polling模式:
mycom = new Win_QextSerialPort("Com1",QextSerialBase::Polling);
readTimer = new QTimer(this);
readTimer->start(100);
mycom->setTimeout(10);  将数据放入串口缓冲区
connect(readTimer,SIGNAL(timeout()),this,SLOT(readMyCom()));

Linux :
mycom = new Posix_QextSerialPort("/dev/ttyS0",QextSerialBase::Polling)

www.yafeilinux.com 文档
 
 

qt串口

标签:ada   建立   sig   缓冲区   mode   ext   readwrite   TBase   流控制   

原文地址:https://www.cnblogs.com/countryboy666/p/11523648.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!