单片机教程网

电脑版
提示:原网页已由神马搜索转码, 内容由www.51hei.com提供.
查看:4807|回复:1
打印上一主题下一主题

[求助]mini2440按键驱动中的终端申请函数的困恼

[复制链接]
跳转到指定楼层
楼主
ID:20107发表于 2010-8-3 20:30|只看该作者回帖奖励
我在学习linux 驱动中中断处理的时候,看到mini2440 自带的按键驱动中的终端申请函数的,flag形参为什么是 IRQ_TYPE_EDGE_BOTH(中断触发方式)?

代码如下:

static int s3c24xx_buttons_open(struct inode *inode, struct file *file)
{
    int i;
    int err = 0;
    
    for (i = 0; i< sizeof(button_irqs)/sizeof(button_irqs[0]); i++) {
    if (button_irqs.irq< 0) {
        continue;
    }
  err = request_irq(button_irqs.irq, buttons_interrupt, IRQ_TYPE_EDGE_BOTH,
                          button_irqs.name, (void *)&button_irqs);


        if (err)
            break;
    }

    if (err) {
        i--;
        for (; i >= 0; i--) {
        if (button_irqs.irq< 0) {
        continue;
        }
        disable_irq(button_irqs.irq);
            free_irq(button_irqs.irq, (void *)&button_irqs);
        }
        return -EBUSY;
    }

    ev_press = 1;
    
    return 0;
}

最为一个菜鸟现在不知如何是好啊,请各位大虾指点指点

手机版|小黑屋|51黑电子论坛|51黑电子论坛6群QQ管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网