TestKEY.rar

  • 浏览量:594
  • 下载量:0
  • 资料大小:711 B
  • 日期:2014-08-17
  • 上传者:LiuYang
  • 分享
  • 评论
  • 举报
  • 收藏

资料描述

    基于前面提到的最精简的框架,中断程序只是多了一个irq注册和响应的代码。
    需要增加的函数有:

    request_irq //请求注册irq
    free_irq //释放请求
    和一个自定义的irq响应函数。

    当然,为了程序能够真正完成工作,还需要一个阻塞响应机制,以便用户程序能够等到中断的到达。
    这里同样使用了最简单的方式,增加的函数:

    declare_completion(msg); //linux内核定义好的宏,给一个变量名称即可
    init_completion(&msg); //初始化
    wait_for_completion(&msg); //阻塞函数
    complete(&msg); //打断阻塞的函数


    对照之前的gpio框架,可以很清晰地看出区别。代码还是贴不了,继续上附件吧。

















    这样,测试程序在调用了read之后会阻塞在那里,等待驱动程序中中断的达到。每次按下按键后,程序就继续执行了。wait_for_completion有很多种,可以增加超时之类的来完成自己的要求。

    顺便说一下,pcduino已经占用了这个中断,测试的话,在启动后需要先rmmod sw_interrupt,以保证本程序的运行。
评论(0)

登录后可评论,请 登录注册

   
相关资料
换一换