[英]threaded serial port communication in C++ with Qt
我正在編寫一個 QT 桌面應用程序,它將顯示從串行端口接收到的信息。 因此,使用標准的 Windows API 功能創建了一個類並將其打包到 DLL 中,以便與連接的設備(CreateFile、ReadFile、WriteFile 等)進行通信。
目前,計時器以預定義的速率 [< 200 毫秒] 調用 DLL,這會導致 gui 凍結一小段時間。 因此,我正在考慮使用線程來執行串行端口的操作,這也將顯示所有內容。
是更好地使用線程來解決這個問題還是我應該重寫該類來執行基於工作事件的工作? 目標是,gui 不會凍結。
編輯:我使用 QThread 派生的工作類和一個被遮蔽的 run() 函數解決了這個問題,它在后台處理串行端口通信並在新信息可用時更新 gui。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.