qt5實現串列埠通訊

2021-06-26 09:24:35 字數 2879 閱讀 7743

源**mainwindow.h

#ifndef

mainwindow_h

#define

mainwindow_h

#include

#include

#include

#include

"mythread.h"

namespace

ui

class

mainwindow

:public

qmainwindow

;
#endif

//mainwindow_h

mainwindow.cpp

#include

#include

#include

#include

#include

#include

#include

#define

uart_tx_len

64

int

pb_open_com_flag;

//串列埠標誌位

char

send_buf[

uart_tx_len

];

char

*clear_uart_string

(void

)

//建構函式
mainwindow

::mainwindow

(qwidget

*parent

):

qmainwindow

(parent

),

ui(

newui

::mainwindow

)

;
//傳送資料
void

mainwindow

::send_uart_string

(char

*p_tx

)else

}
mainwindow

::~mainwindow

()

//設定使能
void

mainwindow

::on_pb_open_com_clicked

()

else

else

}

}
//接受顯示資料
void

mainwindow

::displayrxdata

()

//儲存檔案
void

mainwindow

::on_pb_file_position_slot

()

else

}else

}
//清空傳送資料
void

mainwindow

::on_pb_clear_send_data_clicked

()

//清空接收資料
void

mainwindow

::on_pb_clear_request_data_clicked

()

void

mainwindow

::on_pushbutton_clicked

()

mythread.h

#ifndef

mythread_h

#define

mythread_h

#include

#include

#include

//接受資料的執行緒
class

mythread

:public

qthread

;
#endif

//mythread_h

mythread.cpp

#include

"mythread.h"

mythread

::mythread

(qserialport

*mycom

)

void

mythread

::run

()

this

->

msleep

(500

);

}

}
main.cpp

#include

"mainwindow.h"

#include

#include

#include

int

main

(int

argc

,char

*argv

)

實際執行結果

可用串列埠除錯助手   或者 開啟2個程式互發

————————完—————————

QT5串列埠通訊

在qt5之前,要實現串列埠通訊,需要借助第三方串列埠封裝 qt5已經自帶了類來完成這項工作。如下 1.在pro檔案中新增 qt serialport 引入標頭檔案 include qtserialport qserialport include qtserialport qserialportinf...

QT5 窗體間通訊

a.h 定義訊號 pragma once include 只有繼承了public qobject類的類,才具有訊號槽的能力。傳送者和接收者都需要是qobject的子類 凡是qobject類 不管是直接子類還是間接子類 都應該在第一行 寫上q object classa public qobject ...

QT5串列埠編寫

首先,qt5是自帶qserialport這個類的,使用時需要在pro檔案裡面新增一行 qt serialport 然後直接引用標頭檔案就可以使用了。include includeqserialport 提供訪問串列埠的功能 qserialportinfo 提供系統中存在的串列埠的資訊 接下來需要建立...