STM32里面入如果高优先级的中断处理函数正在执行,这个时候来了一个低优先级的中断,那么高优先级的中断处理函数退出之后,那个低优先级的中断处理函数会执行吗?
时间: 2023-03-23 12:02:49 浏览: 143
STM32中断优先级管理
STM32的中断处理函数优先级是由数值大小决定的,数值越小的中断处理函数优先级越高。当一个高优先级的中断正在执行时,如果有一个更高优先级的中断进来,那么处理器会立即暂停当前中断的执行,去执行更高优先级的中断,这个过程称为中断抢占。
如果一个高优先级的中断正在执行,而此时又有一个优先级相同或更低的中断进来,那么这个中断不会打断当前中断的执行,而是会等待当前中断执行完毕后再执行。因此,即使一个低优先级的中断处理函数正在执行,如果有一个更高优先级的中断发生,处理器也会暂停当前的低优先级中断,去执行更高优先级的中断。
所以,当高优先级的中断正在执行时,如果有一个更高优先级的中断进来,那么当前中断会被暂停执行,等待更高优先级的中断处理完毕后再继续执行。当更高优先级的中断处理完毕后,处理器会返回到之前被暂停的中断处理函数继续执行。
阅读全文