linux timer应用

来源:互联网 发布:叙利亚 知乎 编辑:程序博客网 时间:2024/05/14 22:14
Linux 内核中定义了一个 timer_list 结构,我们在驱动程序中可以利用之: 
struct timer_list { 
  struct list_head list; 
  unsigned long expires;    //定时器到期时间 
  unsigned long data;    //作为参数被传入定时器处理函数 
  void (*function)(unsigned long); 
}; 
下面是关于 timer 的 API 函数: 
增加定时器 
void add_timer(struct timer_list * timer); 
删除定时器 
int del_timer(struct timer_list * timer); 
修改定时器的 expire 
int mod_timer(struct timer_list *timer, unsigned long expires); 
使用定时器的一般流程为: 
(1)timer、编写 function; 
(2)为 timer 的 expires、data、function 赋值; 
(3)调用 add_timer 将 timer 加入列表; 
(4)在定时器到期时,function 被执行; 
(5)在程序中涉及 timer 控制的地方适当地调用 del_timer、mod_timer 删除 timer 或修
改 timer 的 expires。 
0 0
原创粉丝点击