linux内核定时器使用struct timer_list来描述一个定时器:
struct list_head entry;
unsigned long expires; /*设置超时时间*/
struct tvec_base *base;
void (*function)(unsigned long); /*超时后执行的内容*/
unsigned long data;
};
ps:此结构体在不同的内核版本中可能会有差异,但是使用方法相同
定时器使用流程:
(1)定义定时器变量 struct timer_list my_timer;
(2)初始化定时器
<2.1>init_timer初始化
init_timer(&my_timer);
my_timer.function = my_timer_func
(3)add_timer注册定时器
(4)mod_timer启动定时器