linux内核驱动之定时器
运用场景:1.初始化一个驱动,经过一定的时间再执行一个特殊动作;2.初始化一个驱动,之后每隔一定的时间执行一个特殊动作;定时器工作流程:a.创建timer,编写定时器处理函数;b.为timer的expires、data、function赋值;c.调用add_timer将timer加入列表;d.定时器到期时,function被执行。例子:#include
运用场景:
1.初始化一个驱动,经过一定的时间再执行一个特殊动作;
2.初始化一个驱动,之后每隔一定的时间执行一个特殊动作;
定时器工作流程:
a.创建timer,编写定时器处理函数;
b.为timer的expires、data、function赋值;
c.调用add_timer将timer加入列表;
d.定时器到期时,function被执行。
例子:
#include <linux/module.h>
#include <linux/kernel.h>
#include <linux/init.h>
#include <linux/sched.h>//jiffies在此头文件中定义
#include <linux/init.h>
#include <linux/timer.h>
struct timer_list timer;//定义一个定时器
void timer_function(unsigned long arg)
{
//mod_timer(&timer, jiffies + (5*HZ));//重新设置定时器,每隔5秒执行一次
static int __init hello_init (void)
{
}
static void __exit hello_exit (void)
{
}
module_init(hello_init);
module_exit(hello_exit);
MODULE_AUTHOR("LJC");
MODULE_LICENSE("Dual BSD/GPL");
更多推荐
所有评论(0)