当前位置: 首页 > news >正文

济南网站建设小程序平面广告设计论文

济南网站建设小程序,平面广告设计论文,免费空间访客,网站安全管理制度建设我的内核是2.4.18的。Linux的内核中定义了一个定时器的结构#xff1a; #includelinux/timer.h struct timer_list { structlist_head list; unsigned long expires; //定时器到期时间 unsigned long data; //作为参数被传入定时器处理函数 void (*function)(uns…我的内核是2.4.18的。Linux的内核中定义了一个定时器的结构 #includelinux/timer.h struct timer_list { structlist_head list; unsigned long expires; //定时器到期时间 unsigned long data; //作为参数被传入定时器处理函数 void (*function)(unsigned long); }; 利用这个结构我们可以在驱动中很方便的使用定时器。 一 timer的API函数 初始化定时器 voidinit_timer(struct timer_list * timer); 增加定时器 void add_timer(struct timer_list * timer); 删除定时器 int del_timer(struct timer_list * timer); 修改定时器的expire int mod_timer(struct timer_list *timer, unsignedlong expires); 二使用定时器的一般流程为 1创建timer、编写超时定时器处理函数function 2为timer的expires、data、function赋值 3调用add_timer将timer加入列表 4在定时器到期时function被执行 5在程序中涉及timer控制的地方适当地调用del_timer、mod_timer删除timer或修改timer的expires。 #includelinux/module.h #include linux/kernel.h #include linux/init.h #includelinux/sched.h//jiffies在此头文件中定义 #include linux/init.h #include linux/timer.h struct timer_list mytimer;//定义一个定时器 void  mytimer_ok(unsigned long arg) { printk(Mytimer is ok\n); printk(receive data from timer: %d\n,arg); } static int __init hello_init (void) { printk(hello,world\n); init_timer(mytimer);    //初始化定时器 mytimer.expires jiffies100;//设定超时时间100代表1秒 mytimer.data 250;   //传递给定时器超时函数的值 mytimer.function mytimer_ok;//设置定时器超时函数 add_timer(mytimer); //添加定时器定时器开始生效 return0; } static void __exit hello_exit (void) { del_timer(mytimer);//卸载模块时删除定时器 printk(Hello module exit\n); } module_init(hello_init); module_exit(hello_exit); MODULE_AUTHOR(CXF); MODULE_LICENSE(Dual BSD/GPL); 四交叉编译后放到开发板上 #insmod timer.o 可以发现过一秒后定时器过期函数被执行了打印出了信息250也被正确传递 了呵呵 #rmmod timer 实验完成。 五进一步理解定时器 在上面的定时器超时函数mytimer_ok(unsigned long arg)中添加如下 代码 mytimer.expires jiffies100;//设定超时时间100代表1秒 mytimer.function mytimer_ok;//设置定时器超时函数 add_timer(mytimer); //添加定时器定时器开始生效 交叉编译后放到开发板上 #insmod timer.o 发现每隔一秒mytimer_ok函数就执行一次这是因为每次定时器到期后都 又重新给它设置了一个新的超时时间并且新的超时函数指向自己形成一个递 归所以就会一直执行下去。 #rmmod timer 可以卸载模块当然打印也就结束了注意因为定时器超时函数不停的打印信息 导致输入上面的命令时会被定时器超时函数不停的打印信息淹没不用管他 耐心的把上面的命令输完就可以成功卸载。
http://wiki.neutronadmin.com/news/393279/

相关文章:

  • 网站曝光率文创产品创意设计
  • 建设可以聊天的网站照片网站怎么做
  • 手机网站制作软件学校展示型网站建设方案书
  • 装饰公司网站模板抖音权重查询
  • 网站如何备份网站建设教程主页
  • 做ui的网站有哪些内容wordpress4.9中文
  • 帝国网站模版外国网站上做雅思考试
  • 国内老牌的室内设计网站产品推广渠道
  • 做美食网站的需求分析百度账号注册申请
  • 旅游网站排名全球室内设计的网站
  • 网站怎么加留言免费的h5制作网站模板
  • 网站推广规划wordpress 免费吗
  • 小勇cms网站管理系统什么是移动网站开发
  • 怎么制作网站游戏前端菜鸟教程
  • 南宁网站建设mxfsem重庆建设安全管理网站
  • 售后软件网站开发展示型网站设计方案
  • 网站设计需要那些人wordpress 相册 主题
  • 太原网站的公司一般通过男性
  • 怎么给自己的网站做域名学生个人网页制作 效果图
  • 自学网站建设需要什么学历设计图片的app软件
  • 网站还没上线 可以对网站备案吗怎么选择合肥网站建设
  • 网站的js效果代码大全群晖 6 wordpress
  • 基因数据库网站开发价格药店怎么建设自己的网站
  • 网站做推广页需要什么软件有哪些设计类专业必须要美术生吗
  • 网站建设公司哪家专业商业网站建设视频教程
  • 如何用百度上传图片做网站外链广州哪个大学做网站制作好些的
  • 怎么做应援网站优秀企业网站设计要点
  • 网站建设运营合同书我的世界做指令的网站
  • 一个完整的网站设计怎么在网站做系统
  • 网站数据库配置天津建设厅 注册中心网站首页