我是一个新手,试图在嵌入式linux板上获得电平触发的中断。我使用poll()来等待中断事件。我成功地获得了边缘触发的中断。
如何获得电平触发的中断?我应该将边缘设置为什么?
发布于 2014-11-04 03:38:52
下降或上升跃迁触发边沿触发中断。虽然轮询是处理此类中断的一个选项,但为了节省CPU周期,请创建一个线程,该线程可以由内核调度以休眠,直到中断发生,并在中断发生时唤醒它。通过这种方式,主程序不会在轮询中被锁定。
对于电平触发中断,中断线处于高电平或低电平。边缘概念不适用于电平触发中断。在这里,CPU将扫描设备以查找触发中断的设备。一旦设备得到服务,它将继续重新检查可能需要服务的其他设备的中断线路状态(中断共享)。如果未立即确认(清除/处理),则由于重复/连续调用中断处理程序注意力,系统可能进入挂起状态。也就是说,外部设备应断言IRQ信号,直到写入设备寄存器的软件清除了挂起的中断。如果许多设备触发了IRQ信号,则高电平或低电平将一直存在,直到所有设备驱动程序都为其各自的设备提供了服务。所以,这件事应该立即处理。
https://stackoverflow.com/questions/26710813
复制相似问题