由於要使用定時器定時採集資料,想用qt的定時器採集1000hz的訊號(qt的定時器精度位ms級)廢話不多,先上**如下:
timer_thread.h**
#ifndef timer_thread_h
#define timer_thread_h
#include
#include
class
timerthread
:public qthread
;#endif
// timerthread_h
timer_thread.cpp**:
#include
"timer_thread.h"
#include
#include
#include
#include
timerthread::
timerthread
(qobject *parent)
:qthread
(parent)
void timerthread::
run(
)void timerthread::
timeoutslot()
主函式**:
timerthread *m_pthread =
newtimerthread
(this);
/*開啟qt定時器,*/
m_pthread-
>
start()
;
下面進行測試:
10ms測試:
3ms測試:
1ms測試:
以上測試輸出太多引數,現在只輸出秒及秒以後的資料:
2ms測試:
1ms測試:
最後使用每1秒為單位輸出一次,定時為1ms,
從測試結果可以看出,qt4的定時器能實現1ms定時,但這與應用的處理速度有關,即受cpu能力控制,而且也存在累計誤差(連續輸出十幾秒後便出現誤差),本人覺得qt5版本的定時結果就比較精準(沒用qt5試過),具體參看
wsschat的部落格
若有大牛知道如何提高qt4的定時精度,請賜教!
linux下QT4的使用
最近碰到需要使用qt做介面開發的專案。記得上次使用qt都是兩年前的事了,那時候qt3,當時用起來還是覺得很舒服的。但現在把qt4裝上我才知道,原來qt都發生了很大的變化了。uic,qmake的使用都變化了。所以用了一下午時間來適應這個新環境。注 假如qt的工具欄上的資訊看不清楚,如下圖 這時候需要執...
Qt定時器的應用及精度設定
開發環境 windows 10 企業版 qt 5.9.7 mingw 眾所周知,在qt中有兩個方法可以實現定時器,乙個是用qtimer類,另乙個是用qobject的定時器事件。關於qtimer類和qobject的定時器事件的介紹與使用,大家可以自行找資料 我在開發過程中遇到的問題是 記錄過程中,資料...
Qt中定時器使用的兩種方法
qt中定時器的使用有兩種方法,一種是使用qobject類提供的定時器,還有一種就是使用qtimer類。其精確度一般依賴於作業系統和硬體,但一般支援20ms。下面將分別介紹兩種方法來使用定時器。方法一 qobject中的定時器的使用,需要用到三個函式 1 int qobject starttimer ...