zoukankan      html  css  js  c++  java
  • 用request_irq注册一个中断

    request_irq函数做的工作:

    1、分配一个irqaciton结构体

    2、把自己的中断程序赋值给aciton

    3、把这个结构体放入irq_desc[irq]的aciton链表里

      把aciton放入链表之前,还需要判断这个中断的标志,如果是IRQF_SHARED,表示可以多个action共享中断线

      中断处理程序必须能够区分它的设备是否真的产生了中断。这既需要硬件的支持,也需要处理程序中有相关的处理逻辑。

      如果硬件不支持这一功能,那中断处理程序肯定会束手无策,它根本没法知道到底是与它对应的设备发出了这个中断,还是共享这条中断线的其他设备发出了这个中断。

    4、设置引脚

    5、使能中断

    free_irq(irq, dev)做的工作:

    1、aciton函数出链

    2、如果aciton链表中没有后aciton结构了,就禁止中断

  • 相关阅读:
    FTP Protocol
    File Operations
    Ubuntu Install Chinese Input Method
    Vim Intro
    ISA Introduction
    Fourier Transform
    Process/Thread Synchronization
    Process Synchronization-Example 2
    leetcode 栈和队列类型题
    leetcode 字符串类型题
  • 原文地址:https://www.cnblogs.com/physworld/p/14826850.html
Copyright © 2011-2022 走看看