亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Linux下QT串口通信,收不到數據?

Linux下QT串口通信,收不到數據?

Linux下QT串口通信,收不到數據?
查看完整描述

3 回答

?
HUX布斯

TA貢獻1876條經驗 獲得超6個贊

#include "posix_qextserialport.h"
#include <QMessageBox>
#include <QIODevice>

Posix_QextSerialPort *myCom;

void Form7::openCom()
{
myCom = new Posix_QextSerialPort("/dev/ttyS0");
myCom->open();
}

void Form7::senddata()
{

myCom->setBaudRate(BAUD115200);
myCom->setFlowControl(FLOW_OFF);
myCom->setParity(PAR_NONE);
myCom->setDataBits(DATA_8);
myCom->setStopBits(STOP_1);
myCom->setTimeout(5,0);

int a=myCom->writeBlock("1",1);

QString str;
str.setNum(a);
QMessageBox::warning(this,"a",str);
}

void Form7::readCom()
{
char buf[256]={0};
int a= myCom->readBlock(buf,256);
QString str;
str.setNum(a);
QMessageBox::warning(this,"a",str);
this->lineEdit6->setText(buf);
}
void Form7::Nclose()
{
myCom->close();
}



查看完整回答
反對 回復 2019-04-15
?
偶然的你

TA貢獻1841條經驗 獲得超3個贊

串口通信一般為三步:打開串口,串口設置,向串口發送數據或者向串口接受數據:
void OpenComm()
{
hCom=CreateFile("COM3",GENERIC_READ|GENERIC_WRITE,0,
NULL,
OPEN_EXISTING,
FILE_ATTRIBUTE_NORMAL|FILE_FLAG_OVERLAPPED,
NULL);
}
void SetComm()
{
SetupComm(hCom,1024,1024);
DCB dcb;
dcb.BaudRate=115200;
dcb.fParity=NOPARITY;
dcb.ByteSize=8;
dcb.StopBits=ONESTOPBIT;
GetCommState(hCom,&dcb);
if(!GetCommState(hCom,&dcb)){
std::cerr<<"串口被占用"<<std::endl;
return;
}
if(!SetCommMask(hCom,EV_RXCHAR|EV_TXEMPTY)){
std::cerr<<"掩碼設置失敗"<<std::endl;
}
}
void SendMessageOut(const BYTE snd[],int len)
{
DWORD factdata=100;
DWORD res=0;
wOverLapped.hEvent=CreateEvent(NULL,TRUE,FALSE,NULL); //創建事件
BOOL tempflag = WriteFile(hCom,snd,len,&factdata,&wOverLapped);//在數據緩沖Ipbuffer不知道是否有問題
if(tempflag!=0)
{
std::cerr<<"等待信號"<<std::endl;
res=WaitForSingleObject(wOverLapped.hEvent,5000);
WriteFile(hCom,snd,len,&factdata,&wOverLapped);
}

if(res!=WAIT_OBJECT_0)
std::cout<<"數據發送失敗"<<std::endl;

}
這是向串口發送數據的,主要函數為WriteFile();讀取ReadFile(),具體用法 百度一下



查看完整回答
反對 回復 2019-04-15
  • 3 回答
  • 0 關注
  • 2216 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號