PIC32器件具有两种中断:持续中断和非持续中断。持续中断将一直保持有效,且相应的中断标志置1,直到引起中断的问题被处理为止。UART接收中断就是一个例子,在UART接收数据被读取之前,即使在软件中清零中断标志,其仍将保持置1。应在排除导致中断的条件后通过ISR清零持续中断的中断标志,才能确保中断标志真正清零。对于非持续中断,中断控制器将记录一次中断并将其送入CPU,CPU只有在新中断发生时进行中断。具体器件数据手册的“中断控制器”章节中的“中断IRQ、向量和位位置表”会列出每个中断是持续中断还是非持续中断。
|