精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

Linux驅動高精度定時器hrtimer

麥辣雞腿堡 ? 來源:嵌入式Linux充電站 ? 作者:Vincent ? 2023-10-04 15:32 ? 次閱讀

高分辨率定時器hrtimer)以ktime_t來定義時間, 精度可以達到納秒級別ktime_t定義如下:

typedef s64 ktime_t;

可以用ktime_set來初始化一個ktime對象,常用方法如下:

ktime_t t = ktime_set(secs, nsecs);

高分辨率hrtimer結構體定義如下:

struct hrtimer {  
    struct timerqueue_node      node;  
    ktime_t             _softexpires;  
    enum hrtimer_restart        (*function)(struct hrtimer *);  
    struct hrtimer_clock_base   *base;  
    unsigned long           state;  
        ......  
};  
enum hrtimer_restart {  
    HRTIMER_NORESTART,  /* Timer is not restarted */  
    HRTIMER_RESTART,    /* Timer must be restarted */  
};

struct hrtimer結構體中最主要的成員就是回調函數function,回調函數的返回值可以為HRTIMER_NORESTARTHRTIMER_RESTARTHRTIMER_NORESTART代表不需要重啟定時器,HRTIMER_RESTART代表需要重啟定時器。

最常用的接口如下:

hrtimer_init(struct hrtimer *timer, clockid_t clock_id , enum hrtimer_mode mode)
hrtimer_start(struct hrtimer *timer, ktime_t tim, const enum hrtimer_mode mode)
hrtimer_forward_now(struct hrtimer *timer,ktime_t interval)
hrtimer_cancel(struct hrtimer *timer)

hrtimer_init:初始化 struct hrtimer結構對象。clockid_t時鐘的類型, 種類很多,常見的有四種:

  • CLOCK_REALTIME:系統實時時間。
  • CLOCK_MONOTONIC:從系統啟動時開始計時,自系統開機以來的單調遞增時間
  • CLOCK_PROCESS_CPUTIME_ID:本進程到當前代碼系統CPU花費的時間,包含該進程下的所有線程。
  • CLOCK_THREAD_CPUTIME_ID:本線程到當前代碼系統CPU花費的時間。

mode 是時間的模式,可以是 HRTIMER_MODE_ABS, 表示絕對時間, 也可以是 HRTIMER_MODE_REL,表 示相對時間。hrtimer_start:啟動定時器。tim 是設定的到期時間, modehrtimer_init中的mode參數含義相同。hrtimer_forward_now: 修改到期時間為從現在開始之后的 interval 時間。hrtimer_cancel:取消定時器。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 驅動
    +關注

    關注

    12

    文章

    1827

    瀏覽量

    85183
  • Linux
    +關注

    關注

    87

    文章

    11232

    瀏覽量

    208938
  • 定時器
    +關注

    關注

    23

    文章

    3241

    瀏覽量

    114493
收藏 人收藏

    評論

    相關推薦

    #硬聲創作季 #LinuxLinux-2.18.1 高精度延時實驗-GPT定時器原理-2

    高精度Linux
    水管工
    發布于 :2022年11月10日 18:08:37

    GPT高精度延時定時器簡介

    Linux NXP (I.MX6ULL) GPT高精度延時定時器0、GPT 定時器簡介1、GPT 定時器特性如下:2、GPT
    發表于 01-12 06:46

    高精度定時器電路及制作

    高精度定時器電路及制作
    發表于 04-14 11:39 ?14次下載
    <b class='flag-5'>高精度</b><b class='flag-5'>定時器</b>電路及制作

    高精度定時器電路圖

    高精度定時器電路圖
    發表于 05-18 11:40 ?287次下載
    <b class='flag-5'>高精度</b><b class='flag-5'>定時器</b>電路圖

    長時間高精度定時器

    長時間高精度定時器:某些場合需要長時間高精度定時器,此圖定時電路定時時間較長,
    發表于 12-14 08:05 ?1071次閱讀
    長時間<b class='flag-5'>高精度</b><b class='flag-5'>定時器</b>

    用電子表作高精度定時器電路圖

    用電子表作高精度定時器電路圖
    發表于 07-29 08:34 ?1569次閱讀
    用電子表作<b class='flag-5'>高精度</b><b class='flag-5'>定時器</b>電路圖

    Linux時間子系統中的高精度定時器HRTIMER)的原理和實現

    雖然大部分時間里,時間輪可以實現O(1)時間復雜度,但是當有進位發生時,不可預測的O(N)定時器級聯遷移時間,這對于低分辨率定時器來說問題不大,可是它大大地影響了定時器精度
    發表于 05-10 14:11 ?7670次閱讀

    LINUX內核定時器高精度&低精度

    linux從內核2.6.16開始引入了高精度定時器,達到ns級別。自此,內核擁有兩套并行計時,低精度
    發表于 05-13 09:41 ?4124次閱讀

    詳解高精度定時器與高級控制定時器

    高精度定時器中,可以使用外部事件來對 PWM 輸出進行封鎖,并可自動恢復;在高級控制定時器中,可以使用 Break 或是 Clr_input 來對 PWM 輸出進行封鎖, 然后也可以自動恢復,其中 Break 必須結合 AOE
    的頭像 發表于 06-16 16:52 ?2723次閱讀

    Linux驅動開發高精度定時器精度測量評測

    前言 今天我們來評測linux內核的高精度定時器。順便利用通過Tektronix示波器 和 DS100 Mini 數字示波器進行交叉測試。 因項目需要用到精準的時間周期,所以要評估它的可行性,并驗證
    的頭像 發表于 08-09 11:17 ?2014次閱讀

    工程師筆記|高精度定時器的同步功能

    關鍵詞:高精度定時器, 同步 目錄預覽 1.引言 2.定時器同步結構 3.高精度定時器內部同步 4.高精
    的頭像 發表于 11-22 18:15 ?1533次閱讀

    高精度定時器中single-shot計數模式不工作

    高精度定時器中single-shot計數模式不工作
    的頭像 發表于 10-25 18:08 ?522次閱讀
    <b class='flag-5'>高精度</b><b class='flag-5'>定時器</b>中single-shot計數模式不工作

    高精度定時器與高級控制定時器 PWM 封波后再恢復的區別

    高精度定時器與高級控制定時器 PWM 封波后再恢復的區別
    的頭像 發表于 10-17 16:52 ?725次閱讀
    <b class='flag-5'>高精度</b><b class='flag-5'>定時器</b>與高級控制<b class='flag-5'>定時器</b> PWM 封波后再恢復的區別

    高精度定時器的同步功能

    電子發燒友網站提供《高精度定時器的同步功能.pdf》資料免費下載
    發表于 09-19 14:17 ?0次下載
    <b class='flag-5'>高精度</b><b class='flag-5'>定時器</b>的同步功能

    Linux高精度定時器hrtimer使用示例

    要使用高精度定時器hrtimer。 使用示例 單次定時 加載驅動一秒后輸出“ hrtimer h
    的頭像 發表于 10-04 15:38 ?1455次閱讀