美文网首页
Linux 设备驱动之内核定时器 2020-02-20

Linux 设备驱动之内核定时器 2020-02-20

作者: Focus_Uphold | 来源:发表于2020-02-22 13:40 被阅读0次

    该内核定时器的实现是基于低精度定时器实现,高精度定时器的实现代码更为复杂,将在其他章节做相应介绍
    struct timer_list gpio_trigger_time;    //定义一个 time_list


    probe 函数中添加如下:

    init_timer(&gpio_trigger_time);//初始化定时器

    gpio_trigger_time.expires = jiffies+HZ/100; //该种定时精度有限,表示定时 10 ms,HZ 表示 1s

    gpio_trigger_time.function = gpio_trigger_time_function;  //定时时间到所调用函数

    add_timer(&gpio_trigger_time); //添加定时器


    static void gpio_trigger_time_function(unsigned long ptr)

    {

          gpio_set_value(USER_PWM,GPIO_HIGH);    //定时器函数功能实现

         printk(KERN_INFO "gpio_trigger_time_function\n");  //打印输出

         gpio_trigger_time.expires = jiffies+HZ/100; //重新设定定时超时时间

         gpio_trigger_time.function = gpio_trigger_time_function; //定时时间到所调用函数

         add_timer(&gpio_trigger_time);//添加定时器

    }

    相关文章

      网友评论

          本文标题:Linux 设备驱动之内核定时器 2020-02-20

          本文链接:https://www.haomeiwen.com/subject/xodxqhtx.html