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");
效果: