qt4下的定時器使用及精度評估

2021-10-08 19:01:43 字數 1554 閱讀 5380

由於要使用定時器定時採集資料,想用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 ...