在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

3天內不再提示

Linux驅動定時器使用示例

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

定時器使用示例

使用步驟:

1、調用init_timer初始化一個定時器,給struct timer_list各成員賦值。

2、調用add_timer將定時器添加到內核定時器鏈表,時間到后回調函數自動調用,用mod_timer修改expires的值可實現循環定時。

3、不需要定時器時,調用del_timer刪除。

單次定時

加載驅動一秒鐘后,打印出“timer handler, data:520”:

#include < linux/init.h >
#include < linux/kernel.h >
#include < linux/module.h >

#include < linux/sched.h >//jiffies在此頭文件中定義
#include < linux/timer.h >//struct timer_list

struct timer_list timer;

static void timer_handler (unsigned long arg)
{
 printk("timer handler, data:%dn", arg);
}

static int __init my_init(void)
{
 printk("%s entern", __func__);

 init_timer(&timer);
 timer.expires = get_jiffies_64() + msecs_to_jiffies(1000);//定時1秒
 timer.function = timer_handler;
 timer.data = 520;
 add_timer(&timer);

    return 0;
}

static void __exit my_exit(void)
{
 printk("%s entern", __func__);
 del_timer(&timer);
}

module_init(my_init);
module_exit(my_exit);
MODULE_LICENSE("GPL");

循環定時

實現循環定時就是在定時時間到了之后, 調用mod_timer函數再次修改定時時間

每隔一秒鐘打印“timer handler, data:520

#include < linux/init.h >
#include < linux/kernel.h >
#include < linux/module.h >

#include < linux/sched.h >//jiffies在此頭文件中定義
#include < linux/timer.h >//struct timer_list

struct timer_list timer;

static void timer_handler (unsigned long arg)
{
 printk("timer handler, data:%dn", arg);

 mod_timer(&timer, get_jiffies_64() + msecs_to_jiffies (1000));
}

static int __init my_init(void)
{
 init_timer(&timer);
 timer.expires = get_jiffies_64() + msecs_to_jiffies (1000);//定時1秒
 timer.function = timer_handler;
 timer.data = 520;
 add_timer(&timer);

    return 0;
}

static void __exit my_exit(void)
{
 del_timer(&timer);
}

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

    關注

    3

    文章

    1410

    瀏覽量

    41146
  • 驅動
    +關注

    關注

    12

    文章

    1906

    瀏覽量

    86581
  • Linux
    +關注

    關注

    87

    文章

    11469

    瀏覽量

    212901
  • 定時器
    +關注

    關注

    23

    文章

    3289

    瀏覽量

    117345
收藏 人收藏

    評論

    相關推薦
    熱點推薦

    Linux驅動開發-內核定時器

    內核定時器是內核用來控制在未來某個時間點(基于jiffies(節拍總數))調度執行某個函數的一種機制,相關函數位于 和 kernel/timer.c 文件
    的頭像 發表于 09-17 15:06 ?1705次閱讀

    STM32F407 基本定時器使

    介紹STM32F407基本定時器的配置方法,分別介紹輪詢方式、中斷方式使用定時器完成定時
    的頭像 發表于 07-06 14:32 ?4256次閱讀
    STM32F407 基本<b class='flag-5'>定時器使</b>用

    Linux內核定時器的相關資料分享

    del_timer函數mod_timer函數示例代碼按鍵消抖Linux內核定時器概念Linux內核定時器基礎知識
    發表于 12-20 08:05

    定時器、PWM、ICP范例(AVR 定時器使用范例)

    /***************************************************      AVR 定時器使用范例 
    發表于 11-01 01:23 ?77次下載

    STM32F1通用定時器示例講解_Timebase

    STM32F1通用定時器示例詳解—Timebase
    發表于 12-07 18:14 ?0次下載

    如何利用單片機看門狗定時器使led閃爍

    看門狗是為了防止程序跑飛而設定的,但是由于看門狗是一個類似于定時器,因此可以把他當作定時器來使用 示例代碼:用看門狗定時器使一個led閃爍 #include void
    發表于 02-11 10:00 ?4108次閱讀
    如何利用單片機看門狗<b class='flag-5'>定時器使</b>led閃爍

    STM32通用定時器的單脈沖示例詳解

    基于學習的目的,詳細講解關于標準外設庫中的定時器的 17 個示例項目函數文件。本次介紹 OnePulse。
    發表于 07-01 08:00 ?10次下載
    STM32通用<b class='flag-5'>定時器</b>的單脈沖<b class='flag-5'>示例</b>詳解

    關于STM32定時器觸發SPI逐字收發之應用示例

    STM32定時器觸發SPI逐字收發之應用示例
    的頭像 發表于 01-14 16:35 ?5977次閱讀

    基于STM32定時器捕獲測量脈寬的應用示例

    來實現脈寬測量,我們可以選用一個通道、也可以使用兩個通道。使用1個通道時,只需使用定時器基本的輸入捕獲功能結合中斷或DMA即可實現;若使用兩個通道時可以將捕獲功能與定時器的從模式來相結合完成。這里就兩種方案的實現示例都做個簡單
    的頭像 發表于 01-02 18:17 ?1.4w次閱讀
    基于STM32<b class='flag-5'>定時器</b>捕獲測量脈寬的應用<b class='flag-5'>示例</b>

    WinCC中定時器使用方法介紹

    WinCC中定時器使用方法介紹說明。
    發表于 04-22 14:50 ?8次下載

    詳細剖析Linux和RTOS(RT-Thread)的時鐘和定時器的使用

    Linux發燒友1.RTOS篇1.1RT-Thread簡介1.2時鐘管理1.2.1時鐘節拍1.3獲取系統節拍1.4定時器分類1.5定時器源碼分析1.6定時器相關函數1.61動態創建一個
    發表于 01-17 09:31 ?4次下載
    詳細剖析<b class='flag-5'>Linux</b>和RTOS(RT-Thread)的時鐘和<b class='flag-5'>定時器</b>的使用

    Linux內核定時器

    Linux內核中,也可以通過定時器來完成定時功能。但和單片機不同的是,Linux內核定時器是一種基于未來時間點的計時方式,它以當前時刻為啟
    的頭像 發表于 09-22 08:56 ?2365次閱讀
    <b class='flag-5'>Linux</b>內核<b class='flag-5'>定時器</b>

    利用通用定時器輸出PWM(附示例驅動直流電機)

    上一節講述了時鐘樹和基本定時器的配置方法,本節先介紹通用定時器和基本定時器的差異,然后粗略講述PWM波原理,然后講述如何配置通用定時器,最后進行PWM波
    發表于 04-03 14:56 ?0次下載
    利用通用<b class='flag-5'>定時器</b>輸出PWM(附<b class='flag-5'>示例</b><b class='flag-5'>驅動</b>直流電機)

    CKS32F4xx系列產品的定時器使用-基本特征和定時操作

    這一課我們將介紹CKS32F4XX系列產品的定時器使用,CKS32F4XX的定時器功能十分強大,包含2個高級控制定時器,8個普通定時器,2個基礎定時
    的頭像 發表于 05-19 09:18 ?1204次閱讀
    CKS32F4xx系列產品的<b class='flag-5'>定時器使</b>用-基本特征和<b class='flag-5'>定時</b>操作

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

    要使用高精度定時器hrtimer。 使用示例 單次定時 加載驅動一秒后輸出“ hrtimer handler ”: # include # include # include # in
    的頭像 發表于 10-04 15:38 ?1946次閱讀
    主站蜘蛛池模板: 午夜影剧院 | 日本加勒比黑人 | h在线视频 | 久久国产乱子伦精品免费强 | 久久夜夜肉肉热热日日 | 黄 色 成 年人网站 黄 色 成 年人在线 | 老司机午夜网站 | 丁香午夜 | 成人a毛片在线看免费全部播放 | 免费特黄视频 | 亚洲大成色www永久网 | 亚洲天堂婷婷 | 免费看黄的视频软件 | 久久久久免费精品国产小说 | 性欧美视频在线观看 | www.日本黄色 | 大量喷潮free| 欧美成人鲁丝片在线观看 | 曰本a | 精品国产免费观看久久久 | 日本三级最新中文字幕电影 | 日韩三级一区 | 黄色成人在线网站 | 国产亚洲高清在线精品不卡 | 萌白酱香蕉白丝护士服喷浆 | 免费深夜视频 | 亚洲一区二区三区精品视频 | 亚洲国产视频一区 | 国产一级又色又爽又黄大片 | 呦交小u女国产秘密入口 | 国产男人午夜视频在线观看 | 性黄视频 | 高清欧美一级在线观看 | 嫩草影院入口一二三免费 | 亚洲成人在线网站 | 91福利视频网站 | 色婷婷社区 | 久久亚洲精品国产亚洲老地址 | 色批网站| 一级骚片超级骚在线观看 | 天天看夜夜操 |