91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Linux驅(qū)動(dòng)高精度定時(shí)器hrtimer

麥辣雞腿堡 ? 來源:嵌入式Linux充電站 ? 作者:Vincent ? 2023-10-04 15:32 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

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

typedef s64 ktime_t;

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

ktime_t t = ktime_set(secs, nsecs);

高分辨率hrtimer結(jié)構(gòu)體定義如下:

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結(jié)構(gòu)體中最主要的成員就是回調(diào)函數(shù)function,回調(diào)函數(shù)的返回值可以為HRTIMER_NORESTARTHRTIMER_RESTART。HRTIMER_NORESTART代表不需要重啟定時(shí)器,HRTIMER_RESTART代表需要重啟定時(shí)器。

最常用的接口如下:

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結(jié)構(gòu)對象。clockid_t時(shí)鐘的類型, 種類很多,常見的有四種:

  • CLOCK_REALTIME:系統(tǒng)實(shí)時(shí)時(shí)間。
  • CLOCK_MONOTONIC:從系統(tǒng)啟動(dòng)時(shí)開始計(jì)時(shí),自系統(tǒng)開機(jī)以來的單調(diào)遞增時(shí)間
  • CLOCK_PROCESS_CPUTIME_ID:本進(jìn)程到當(dāng)前代碼系統(tǒng)CPU花費(fèi)的時(shí)間,包含該進(jìn)程下的所有線程。
  • CLOCK_THREAD_CPUTIME_ID:本線程到當(dāng)前代碼系統(tǒng)CPU花費(fèi)的時(shí)間。

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

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • 驅(qū)動(dòng)
    +關(guān)注

    關(guān)注

    12

    文章

    1956

    瀏覽量

    88559
  • Linux
    +關(guān)注

    關(guān)注

    88

    文章

    11763

    瀏覽量

    219091
  • 定時(shí)器
    +關(guān)注

    關(guān)注

    23

    文章

    3368

    瀏覽量

    123711
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點(diǎn)推薦

    GPT高精度延時(shí)定時(shí)器簡介

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

    Linux和RTOS的時(shí)鐘和定時(shí)器怎么使用

    定時(shí)器1.7初始化和脫離定時(shí)器1.8啟動(dòng)和停止定時(shí)器1.9高精度延時(shí)1.10實(shí)戰(zhàn)篇:RTOS定時(shí)器代碼演示2
    發(fā)表于 01-17 08:13

    高精度定時(shí)器電路及制作

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

    高精度定時(shí)器電路圖

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

    長時(shí)間高精度定時(shí)器

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

    Linux時(shí)間子系統(tǒng)中的高精度定時(shí)器HRTIMER)的原理和實(shí)現(xiàn)

    雖然大部分時(shí)間里,時(shí)間輪可以實(shí)現(xiàn)O(1)時(shí)間復(fù)雜度,但是當(dāng)有進(jìn)位發(fā)生時(shí),不可預(yù)測的O(N)定時(shí)器級聯(lián)遷移時(shí)間,這對于低分辨率定時(shí)器來說問題不大,可是它大大地影響了定時(shí)器精度
    發(fā)表于 05-10 14:11 ?8170次閱讀

    LINUX內(nèi)核定時(shí)器高精度&低精度

    linux從內(nèi)核2.6.16開始引入了高精度定時(shí)器,達(dá)到ns級別。自此,內(nèi)核擁有兩套并行計(jì)時(shí),低精度
    發(fā)表于 05-13 09:41 ?4685次閱讀

    詳解高精度定時(shí)器與高級控制定時(shí)器

    高精度定時(shí)器中,可以使用外部事件來對 PWM 輸出進(jìn)行封鎖,并可自動(dòng)恢復(fù);在高級控制定時(shí)器中,可以使用 Break 或是 Clr_input 來對 PWM 輸出進(jìn)行封鎖, 然后也可以自動(dòng)恢復(fù),其中 Break 必須結(jié)合 AOE
    的頭像 發(fā)表于 06-16 16:52 ?4090次閱讀

    Linux驅(qū)動(dòng)開發(fā)高精度定時(shí)器精度測量評測

    前言 今天我們來評測linux內(nèi)核的高精度定時(shí)器。順便利用通過Tektronix示波器 和 DS100 Mini 數(shù)字示波器進(jìn)行交叉測試。 因項(xiàng)目需要用到精準(zhǔn)的時(shí)間周期,所以要評估它的可行性,并驗(yàn)證
    的頭像 發(fā)表于 08-09 11:17 ?2943次閱讀

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

    關(guān)鍵詞:高精度定時(shí)器, 同步 目錄預(yù)覽 1.引言 2.定時(shí)器同步結(jié)構(gòu) 3.高精度定時(shí)器內(nèi)部同步 4.高精
    的頭像 發(fā)表于 11-22 18:15 ?3134次閱讀

    高精度定時(shí)器與高級控制定時(shí)器 PWM 封波后再恢復(fù)的區(qū)別

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

    高精度定時(shí)器的同步功能

    電子發(fā)燒友網(wǎng)站提供《高精度定時(shí)器的同步功能.pdf》資料免費(fèi)下載
    發(fā)表于 09-19 14:17 ?2次下載
    <b class='flag-5'>高精度</b><b class='flag-5'>定時(shí)器</b>的同步功能

    Linux高精度定時(shí)器hrtimer使用示例

    要使用高精度定時(shí)器hrtimer。 使用示例 單次定時(shí) 加載驅(qū)動(dòng)一秒后輸出“ hrtimer h
    的頭像 發(fā)表于 10-04 15:38 ?2578次閱讀

    LAT1173高精度定時(shí)器的同步功能應(yīng)用筆記

    STM32G474 所含的高精度定時(shí)器(HRTIMER)其實(shí)包含了多個(gè)定時(shí)器,多個(gè)定時(shí)器之間可以單獨(dú)工作,也可以進(jìn)行同步,且
    發(fā)表于 01-11 17:32 ?0次下載