天天看點

Linux-QT4.7 實作序列槽通信

在qt5版本以下,想要實作序列槽通信需要兩個內建類,posix_qextserialport 和 qextserialbase,需要的可以移步到 下載下傳點。

在posix_qextserialport這個類中關于序列槽設定的定義很詳細,常用的寫法一般是

Posix_QextSerialPort * myCom;

myCom->open(QIODevice::ReadWrite); // 定義打開方式
myCom->setBaudRate(BAUD115200);    // 設定波特率
myCom->setDataBits(DATA_8);        // 設定資料位
myCom->setParity(PAR_NONE);        // 設定校驗類型
myCom->setStopBits(STOP_1);        // 設定停止位
myCom->setFlowControl(FLOW_OFF);   
myCom->setTimeout(50);             // 設定延時
           

有一點需要注意一下,linux系統的序列槽一般為/dev/ttyS* ,使用時需要權重限,預設是沒有權限使用的。。

設計序列槽讀取的思路一般是利用定時器QTimer類

利用timeout作為信号,readCOM作為槽函數,進行周期讀取。

在實驗中定時器的時間間隔一般需要大于等于序列槽的延時,否則會卡頓,具體原因,,,我還沒弄懂,網上也沒這方面的資料,,,可能以後随着經驗變多會懂吧

繼續閱讀