1.概述
内核定时器是内核用来控制在未来某个时间点,调度执行某个函数的一种机制。
2.相关数据结构
struct timer_list
3.内核定时器函数
- DEFINE_TIMER:静态定义并初始化定时器
- TIMER_INITIALIZER(_function, _expires, _data):初始化timer_list结构体的同时给指定测试成员赋值
- init_timer:动态初始化timer_list结构体
- add_timer:向内核添加定时器
- mod_timer:定时器时间修改
- del_timer:定时器取消
- timer_pending:通过读取timer_list结构的一个字段俩返回定时器是否正在被调度。
4.定时器编程步骤
- 编写定时器处理函数
void timer_func(_name, _function, _expires, _data)
- 动态定义并初始化:
struct timer_list mytimer;
init_timer(&my_timer);
TIMER_INITALIZER(_function, _expires, _data)
- 激活定时器:
add_timer(&my_timer);