设为首页 加入收藏

TOP

Linux 内核定时器的使用
2014-11-24 11:10:53 来源: 作者: 【 】 浏览:0
Tags:Linux 内核 定时器 使用

定时器有关的头文件:



#include


#include


与定时器有关的结构体:



struct timer_list {


struct list_head entry;


unsigned long expires;//定时间隔 jiffies+delay


void (*function)(unsigned long);//定时器执行函数


unsigned long data;//私有数据


struct tvec_base *base;


#ifdef CONFIG_TIMER_STATS


void *start_site;


char start_comm[16];


int start_pid;


#endif


#ifdef CONFIG_LOCKDEP


struct lockdep_map lockdep_map;


#endif


};


struct timer_list time;



init_timer(&(time));


二、设置time的值与返回函数:



time.data = (unsigned long)datap;


time.function = func_exec_timer;


setup_timer(time,






func_exec_timer






, datap)代替,该函数实现赋值并初始化定时器




三、设置定时时间



time.expires = jiffies + 100;


四、注册内核定时器,将定时器添加到内核动态定时器的链表中


add_timer(&(time));







func_exec_timer里,当处理完相应工作后,可能需要重新添加定时器,继续实现定时功能



此时需要做的步骤为:









time.expires = jiffies + 100;









add_timer(&(time));




六、当使用完定时器时,要将定时器删除:


del_timer(&time);


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇Linux 定时器编程 下一篇Android客户端与服务器端通过DES..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·【C语言】动态内存管 (2025-12-27 06:23:20)
·C语言中的内存管理 - (2025-12-27 06:23:16)
·C语言指南:C语言内 (2025-12-27 06:23:14)
·Redis on AWS:Elast (2025-12-27 04:19:30)
·在 Spring Boot 项目 (2025-12-27 04:19:27)