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);
一般放在回調函數裡面重裝定時器定時值