我想在 Linux 设备驱动程序中实现一个计数器,该计数器在每个固定时间间隔后递增。我想在计时器的帮助下做到这一点。示例代码片段将非常有用。
看看下面的文章IBM Developerworks:计时器和列表
有一个如何使用 Linux 内核定时器的小例子(为了方便起见,将其包含在此处,注释来自我自己,删除了 printk 消息)
#include <linux/kernel.h>
#include <linux/module.h>
#include <linux/timer.h>
MODULE_LICENSE("GPL");
static struct timer_list my_timer;
void my_timer_callback( unsigned long data )
{
/* do your timer stuff here */
}
int init_module(void)
{
/* setup your timer to call my_timer_callback */
setup_timer(&my_timer, my_timer_callback, 0);
/* setup timer interval to 200 msecs */
mod_timer(&my_timer, jiffies + msecs_to_jiffies(200));
return 0;
}
void cleanup_module(void)
{
/* remove kernel timer when unloading module */
del_timer(&my_timer);
return;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)