快速中断:在开启快速中断时,其他中断不会打断快速中断。
多个中断共享一个中断号。
中断行为受到限制:
1.不能使用可能引起阻塞的函数
2.不能使用可能引起调度的函数
中断注册:request_irq()
注销中断:free_irq()
在中断处理函数中,
1.判断是否发生了所对应的中断
2.清楚发生的中断
中断编号??
中断分层
当快速中断被关闭时,中断之间可以被打断。当一个中断服务函数未执行完之后若再产生中断,则会执行新的中断服务函数。若产生同类型的中断时,第二次新产生同类型的中断会被忽略。
若快速中断开启时,一个中断服务函数未执行完成之前若产生中断,则新产生的中断会被忽略。
故为了解决这种情况,我们只能尽量缩短中断服务函数执行的时间。
这里将中断服务函数分为两个部分。
上半部分放在中断服务函数中,主要处理和硬件相关的操作。
下半部分执行数据的处理。将这部分工作加入到一个专属的工作队列中。