linux定时访问api,Linux内核API setup_timer

setup_timer函数功能描述:函数setup_timer( )在实现过程中调用了函数__setup_timer( ),完成对struct timer_list类型的变量进程初始化工作。函数__setup_timer( )首先调用函数__init_timer( )对struct timer_list变量进行初始化,将此结构体变量存储的定时器插入到系统内核定时器模块中,并确定由哪个CPU处理,字段base用相应CPU的base赋值,字段entry的next用NULL赋值,并初始化自旋锁为打开状态。然后对结构体变量struct timer_list的function字段和data字段初始化,被赋值的结构体变量是函数的第一个参数,第二个参数用于初始化字段function,第三个参数用于初始化字段data。

setup_timer文件包含

setup_timer函数定义

在内核源码中的位置:linux-3.19.3/include/linux/timer.h

函数定义格式:

函数__setup_timer( )的定义见文件linux-3.19.3/include/linux/timer.h

setup_timer输入参数说明

第一个参数是struct timer_list类型的变量,此变量用于存放动态定时器,是即将要被初始化的对象,其定义及详细解释参考

add_timer( )分析文档的输入参数说明部分。

第二个参数是定时器到期时将要执行的函数,用于给定时器变量的function字段赋值。

第三个参数用于给定时器变量的data字段赋值。

setup_timer返回参数说明

此函数不返回任何类型的值。

setup_timer实例解析

编写测试文件:setup_timer.c

头文件引用及全局变量声明:

定时器到期处理函数定义:

定时器初始化、模块加载函数定义:

模块退出函数:

模块加载函数及模块退出函数调用:

实例运行结果及分析:

执行命令insmod setup_timer.ko插入模块,然后输入命令dmesg -c查看系统输出信息,出现如图所示结果。

4893a63b99deb4dfb737b5f4659d2f8b.png

结果分析:

由图可以看出定时器变量的function字段和data字段分别被自定义函数my_timer_function( )和定时器变量自身初始化了,并且完成了对定时器变量的系统初始化。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值