gpt4 book ai didi

c - 如何在 Linux 内核设备驱动程序中使用定时器?

转载 作者:IT王子 更新时间:2023-10-29 00:40:43 24 4
gpt4 key购买 nike

我想在 Linux 设备驱动程序中实现一个计数器,它在每个固定的时间间隔后递增。我想在计时器的帮助下做到这一点。示例代码片段会非常有用。

最佳答案

看看下面的文章IBM Developerworks: Timers and Lists

有一个如何使用 Linux 内核计时器的小示例(为了方便,将其包含在此处,评论来 self 自己,删除了 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;
}

关于c - 如何在 Linux 内核设备驱动程序中使用定时器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10812858/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com