request_irq函数介绍

在Linux内核中,request_irq()函数是注册中断服务函数,函数的原型如下:

int request_irq (unsigned int irq, irqreturn_t (*handler)(int, void *), unsigned long irqfrag, const char *devname,void *dev_id);

5个参数的含义如下:
参数1:中断号,所申请的中断向量,比如EXIT0中断等定义在mach/irqs.h。
参数2:是一个函数指针,向系统登记的中断处理函数,是一个回调函数,当中断发生时,系统调用这个函数。
参数3:指定中断属性、中断触发方式(一般用宏定义表示)等。定义在linux/interrupt.h。
参数4:指定中断名字,用命令 cat /proc/interrupts 可查看系统中断申请与使用情况。
参数5:传入中断处理程序的参数,可以为NULL,但在注册共享中断时,此参数不能为NULL。该参数可作为共享中断时的中断区别参数,还可以把其传给一个结构体变量,用于保存一个设备的信息,使中断处理函数可以获得该设备的信息。

返回值:
函数运行正常时返回0,否则返回对应错误的负值。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值