推迟中断动作

时间:2016-01-25 20:31:37

标签: linux interrupt

我正在尝试做一些奇怪的事情,我没有在档案中找到参考资料。在飞思卡尔iMX6处理器上,有一条输入线在按下后产生中断(500mS延迟不起作用),中断的目的是通知系统有序关机的请求。在相关系统上,附加的按钮也连接到Enter键GPIO。生成的中断似乎是下降沿/上升沿(反之亦然,重要的是),相隔大约75mS左右。除非释放并再次按下该键,否则不会重复中断。

清除ISR中断的位是由实时时钟驱动程序分配和保存的寄存器(飞思卡尔架构的副作用)所以我必须在RTC驱动程序中嵌入我的中断处理程序,当然有自己的中断代码。

当我实施关于从内核空间关闭(嵌入式)Linux的问题18296686的建议时,我认为自己很聪明,但是无法区分Enter和power-off。我需要检测断电中断,等待~750-1000mS,然后检查按钮(< Enter>键是否连接到GPIO)是否仍被按下,从而发出断电信号。

我在想驱动程序的poll(2)接口,但由于驱动程序实际上是RTC驱动程序,因此界面让我感到困惑,我正在寻求帮助来实现它。

0 个答案:

没有答案