对于外设中断,如果通过NVIC_DisableIRQ(xxx)关闭对应NVIC里面的使能位,会导致对应中断Pend位置起,如果清除Pend位时不清外设的中断标志位将导致对应Pend位立刻再次置起。所以此时如果符合执行中断服务函数的条件将会一直在中断中无法退出。
其次是NVIC_DisableIRQ (ARM Cortex™ 微控制器软件接口标准)相关API函数只能操作中断号为非负数的中断(非内核内部异常),因为中断号为负数的中断NVIC里是没有对应使能和清除使能控制位的,只有外部中断才能在NVIC里进行使能和除能配置.内核异常只能通过内核的特殊功能寄存器进行掩蔽和在各自的控制寄存器中开启和关闭向内核的中断请求使能。