大家好, 如何在QT中進行多個RS485口讀資料,
uj5u.com熱心網友回復:
RS485不就是串口嗎多個串口就可以了uj5u.com熱心網友回復:
一個485口對應一個QSerialPort物件最好用多執行緒方式讀寫uj5u.com熱心網友回復:
圖片:Screenshot.png#include "serialThread.h"#include <QDebug>#include "ui_serial.h"#include "serial.h"#include <QMessageBox>int sendcount1=1;QString GetHex="";SerialThread::SerialThread(QString portName,BaudRateType baud, DataBitsType databits, ParityType parity, StopBitsType stopbits, FlowType flow, long timeout){ struct PortSettings ttySetting; // s3c2440--{BAUD115200,DATA_8,PAR_NONE,STOP_1,FLOW_OFF,500}; myCom = new Posix_QextSerialPort(portName,ttySetting,QextSerialBase::Polling); myCom->open(QIODevice::ReadWrite); //以可讀寫方式打開串口 myCom->setBaudRate(baud); myCom->setDataBits(databits); myCom->setParity(parity); myCom->setStopBits(stopbits); myCom->setFlowControl(flow); myCom->setTimeout(timeout);} //qDeb
uj5u.com熱心網友回復:
如果直接建立多一個執行緒來創建多一個QSerialPort物件,進行操作eg:SerialThread::SerialThread1(QString portName,BaudRateType baud, DataBitsType databits, ParityType parity, StopBitsType stopbits, FlowType flow, long timeout){ struct PortSettings ttySetting; // s3c2440--{BAUD115200,DATA_8,PAR_NONE,STOP_1,FLOW_OFF,500}; myCom1 = new Posix_QextSerialPort(portName,ttySetting,QextSerialBase::Polling); myCom1->open(QIODevice::ReadWrite); //以可讀寫方式打開串口 myCom1->setBaudRate(baud); myCom1->setDataBits(databits); myCom1->setParity(parity); myCom1->setStopBits(stopbits); myCom1->setFlowControl(flow); myCom1->setTimeout(timeout);} 就可以了吧uj5u.com熱心網友回復:
還是搞不定多串口接收資料編程,希望大家給點思路uj5u.com熱心網友回復:
樓主有搞定沒有?uj5u.com熱心網友回復:
面向物件編程,搞多個物件不就行了唄
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/273394.html
標籤:其他技術討論專區
下一篇:教你鐵威馬NAS如何設定整機備份
