1.原型
int request_irq(unsigned int irq, irq_handler_t handler, unsigned long flags,const char *name, void *dev);
2.头文件
linux/interrupt.h
3.功能
注册中断服务函数
4.参数
参数 | 描述 |
---|---|
irq | 中断号,所申请的中断向量 |
handler | 函数指针,向系统登记的中断处理函数,是一个回调函数,当中断发生时,系统调用这个函数 |
flags | 指定中断属性、中断触发方式(一般用宏定义表示)等,定义在linux/interrupt.h中 |
name | 指定中断名字,用命令cat /proc/interrupts可查看系统中断申请与使用情况 |
dev | 传入中断处理程序的参数,可以为NULL,但在注册共享中断时,此参数不能为NULL。该参数可作为共享中断时的中断区别参数,还可以把其传给一个结构体变量,用于保存一个设备的信息,使中断处理函数可以获得该设备的信息 |
5.返回值
函数运行正常时返回0,否则返回对应错误的负值。