linux 内核定时器实例 timer

#include <linux/of.h>
#include <linux/device.h>
#include <linux/platform_device.h>
#include <linux/err.h>
#include <linux/errno.h>
#include <linux/list.h>
#include <linux/init.h>
#include <linux/module.h>
#include <linux/kernel.h>

struct timer_list mytimer;

static void timer_func(unsigned long _musb)
{

     printk(KERN_INFO "timer_func 5s comming ...");
     mod_timer(&mytimer,jiffies + 5*HZ);
}
static int __init test_timer_init(void)
{
    setup_timer(&mytimer, timer_func, (unsigned long)NULL);
    mytimer.expires = jiffies + 5*HZ;
    add_timer(&mytimer);
    return 0;
}

static void test_timer_exit(void)
{
    del_timer(&mytimer);
}
module_init(test_timer_init);
module_exit(test_timer_exit);

MODULE_AUTHOR("wanghb");
MODULE_LICENSE("GPL");

效果:

原文地址:https://www.cnblogs.com/coversky/p/14988016.html