在Linux内核中用于申请中断的函数是request_irq(),函数原型为:
int request_irq(unsigned int irq , irq_handler_t handler , unsigned long irqflags, const char *devname , void *dev_id)
irq为要申请的硬件中断号,需要查询!
handler是向系统注册的中断处理函数,是一个回调函数,中断发生时,系统调用这个函数。
irgflags是中断处理属性
devname设置中断名称,通常是设备的名字。通过cat/proc/interrupts可以查看。
dev_id在中断共享时会用到,一般设置为这个设备结构体或者NULL。
使用该函数需要包含的头文件是#include<linux/interrupt.h>