天嵌 ARM开发社区

 找回密码
 注册
查看: 2808|回复: 2

linux按键驱动程序的清除中断标志位

[复制链接]
xys0610 发表于 2011-10-6 11:47:32 | 显示全部楼层 |阅读模式
static irqreturn_t irq_interrupt(int irq, void *dev_id)
{
        struct button_irq_desc *button_irqs = (struct button_irq_desc *)dev_id;
        int down;

        down = !s3c2410_gpio_getpin(button_irqs->pin);

        if (down != (key_values[button_irqs->number] & 1))
        {
                key_values[button_irqs->number] = '0' + down;
                ev_press = 1;
                wake_up_interruptible(&button_waitq);
        }

        return IRQ_RETVAL(IRQ_HANDLED);
}
这是linux下的按键驱动的一个部分
为什么在linux下不用清除中断标志位,而在裸机开发下要清除中断标志位。还是linux下清除中断标志位的程序我没找到?求高手赐教。HELP。很困扰。
亚瑟王 发表于 2011-10-18 17:13:54 | 显示全部楼层
都是做了清中断的,操作系统有专门的管理软件来处理这个事务,具体代码需要自己找一下了。
北极熊 发表于 2012-10-16 21:27:55 | 显示全部楼层
受教了,非常感谢
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

i.MX8系列ARM cortex A53 M4 工控板上一条 /1 下一条

Archiver|手机版|小黑屋|天嵌 嵌入式开发社区 ( 粤ICP备11094220号-2 )

GMT+8, 2024-6-17 10:02 , Processed in 1.203125 second(s), 18 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表