linux中断处理程序需要注意的参数问题

本文介绍了Linux中断服务例程的关键参数,包括中断号(int irq)、设备ID(void *dev_id)及其作用。中断处理程序的返回值通常为IRQ_NONE或IRQ_HANDLED。内容还涉及中断处理程序的执行特点,如中断线的屏蔽机制和服务内容,以及request_irq()函数的使用限制。
摘要由CSDN通过智能技术生成

中断服务例程的形参:

static irqreturn_t buttons_interrupt(int irq, void *dev_id)
{
    struct button_irq_desc *button_irqs = (struct button_irq_desc *)dev_id;
    int down;
     udelay(0);
    down = !s3c2410_gpio_getpin(button_irqs->pin);   //down: 1(按下),0(弹起)
   if (!down) { 

    /*报告事件*/
    key_values = button_irqs->number;
    //printk("====>rising key_values=%d\n",key_values);
  if(key_values==0)
    input_report_key(b
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值