linux驱动之中断函数request_irq()
来源:互联网 发布:乎伦贝尔湖 编辑:程序博客网 时间:2024/06/06 01:01
request_irq()、free_irq()
这是驱动程序申请中断和释放中断的调用。在include/linux/sched.h里声明。
request_irq()调用的定义:
int request_irq(unsigned int irq,
void (*handler)(int irq, void *dev_id, struct pt_regs *regs
),
unsigned long irqflags,
const char * devname,
void *dev_id);
irq是要申请的硬件中断号。在Intel平台,范围0--15。handler是向系统登记的中断处理函数。这是一个回调函数,中断发生时,系统调用这个函数,传入的参数包括硬件中断号,device id,寄存器值。dev_id就是下面的request_irq时传递给系统的参数dev_id。irqflags是中断处理的一些属性。比较重要的有SA_INTERRUPT,
标明中断处理程序是快速处理程序(设置SA_INTERRUPT)还是慢速处理程序(不设置SA_INTERRUPT)。快速处理程序被调用时屏蔽所有中断。慢速处理程序不屏蔽。还有一个SA_SHIRQ属性,设置了以后运行多个设备共享中断。dev_id在中断共享时会用到。一般设置为这个设备的 device结构本身或者NULL。中断处理程序可以用dev_id找到相应的控制这个中断的设备,或者用irq2dev_map找到中断对应的设备。
void free_irq(unsigned int irq,void *dev_id);
FE:
request_irq(INT_HA2608_PORT, s3c_keypad_isr, IRQF_SAMPLE_RANDOM, DEVICE_NAME, (void *) pdev);
1.GPIO口,2.中断处理函数,3系统define的一个值,表面触发中断的方式,上升沿啊,高电平啊,下降沿啊等等 4,设备名字,5 一个设备的ID(不太确定)
- linux驱动之中断函数request_irq()
- 一步一步学习 Linux 驱动之内核中断函数 request_irq
- 中断函数int request_irq(...)
- linux驱动中的request_irq
- linux 驱动的request_irq ..............
- 内核中的中断函数request_irq()
- 中断申请函数request_irq详解
- 内核中的中断函数request_irq()
- request_irq() 注册中断服务函数
- 内核中的中断函数request_irq()
- request_irq() linux注册中断服务
- Linux内核中断:request_irq,free_irq
- Linux驱动之中断
- linux驱动之按键中断
- linux驱动之外部中断
- Linux驱动学习之:按键中断驱动
- 由request_irq()函数引发对中断的理解
- 由request_irq()函数引发对中断的理解
- 构造函数的执行顺序---派生类构造函数 and 父类构造函数 and 成员对象构造函数
- 一个简单的DAO
- d3_paths&arcs
- exec函数族
- 编程经验
- linux驱动之中断函数request_irq()
- Linux内核哈希表分析与应用
- CodingTrip携程编程大赛-位图像素的颜色
- 约瑟夫环
- Write Code Every Day
- 软件测试都包括什么
- 设置UIButton的文字显示位置、字体的大小、字体的颜色
- 减肥不可忽视的八大细节
- 2014-4-11第一篇博文