ISR或互斥任务是否具有更高的优先级?

时间:2013-11-15 09:59:50

标签: mutex isr

是否有可能在互斥任务运行期间发生ISR,实际上我想知道的是互斥任务或ISR是否具有更高的优先级?

1 个答案:

答案 0 :(得分:0)

这完全取决于操作系统和互斥锁实现。典型的互斥API包含trylock()。有trylock()的版本可用于中断服务例程(ISR)。但是,作为ISR服务硬件,它们必须始终执行。无法使用互斥锁阻止执行。相反,硬件可以关闭,因此没有中断或中断可以屏蔽。屏蔽中断是因为它会增加中断延迟;即,您可能会导致硬件问题。

一般用户任务阻止所有系统中断是一个非常糟糕的主意。如果这是您所希望的,那么您的设计可能存在问题。