dannistang 2013-01-23
1.添加头文件
#include <linux/timer.h>
2.定义一个timer_list结构体成员
struct timer_list t1;
3.初始化定时器
init_timer(&t1);
4.填充t1成员
t1.function=&timer_fn; //回调函数
t1.expires=jiffies+HZ; //定时值
t1.data=HZ; //回调函数参数
5.添加定时器回调函数
void timer_fn(unsigned long i) //注意函数格式:返回void,参数unsigned long
{
printk("1s over!\n");
t1.expires=jiffies+i; //定时值
add_timer(&t1); //修改定时器值add_timer会调用mod_timer
}
6.添加定时器
add_timer(&t1);
7修改定时值
add_timer(&t1);
或者
mod_timer(&t1,jiffies+HZ);
一般放在回调函数里面重装定时器定时值