溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

關(guān)于linux hrtimer高精度定時器的使用注意事項

發(fā)布時間:2020-06-13 15:34:48 來源:網(wǎng)絡 閱讀:2515 作者:GaoNeil 欄目:移動開發(fā)

關(guān)于linux hrtimer高精度定時器的使用注意事項

需要注意:
由于hrtimer本身沒有interval周期的概念,
如果要實現(xiàn)hrtimer的周期調(diào)用,
方法1) 超時函數(shù),調(diào)用hrtimer_start(, tim,HRTIMER_MODE_REL);即把timer根據(jù)此tim超時時間插入到timer_base的隊列中, 并返回HRTIMER_NORESTART
方法2) 超時函數(shù),調(diào)用hrtimer_forward()或者hrtimer_forward_now(), 把hrtimer的_softexpires和timerqueue_node.expires往后退一個interval的時間,然后函數(shù)返回HRTIMER_RESTART。 此后由__run_hrtimer()調(diào)用enqueue_hrtimer()來自動重新插入到timer_base的隊列中。

如果方法2)中,如果不調(diào)用hrtimer_forward()或者hrtimer_forward_now(), 而直接返回HRTIMER_RESTART,那么定時函數(shù)的超時周期就變成timer_base的resolution分辨率的周期來運行了,這樣的resolution,頻率太高。

關(guān)于linux hrtimer高精度定時器的使用注意事項

具體參見我的《如何編寫linux設(shè)備驅(qū)動》視頻課程:
https://edu.51cto.com/course/17132.html

另外我的相關(guān)培訓視頻請看:
歡迎觀看我發(fā)布的各個課程: https://edu.51cto.com/lecturer/8896847.html

我的新的更多優(yōu)惠的打包課程鏈接如下:
https://edu.51cto.com/sd/0a9d4

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI