板子源代码里有一个AD的例子,其中一段代码如下
static irqreturn_t adcdone_int_handler(int irq, void *dev_id)
{
if (OwnADC) {
adc_data = ADCDAT0 & 0x3ff;
ev_adc = 1;
//从等待队列adcdev.waitq中唤醒状态为TASK_INTERRUPTIBLE的所有进程
wake_up_interruptible(&adcdev.wait);
}
return IRQ_HANDLED;
}
这个是中断的处理函数,我想问一下
这个中断执行的触发条件是什么?