在中断处理程序中休眠或阻塞



为什么在中断处理程序中不允许休眠或阻塞?

假设我有如下设置:

  1. 单核心系统。
  2. 使用FreeRTOS开发裸机应用程序。

有许多FreeRTOS api不能从ISR上下文中调用,因为它们可能会阻塞等待将要发生的事件。因此,这意味着我们不能将ISR置于阻塞状态。

如果你阻塞了一个中断处理程序,它通常不会被再次触发。所有其他具有相同或更低优先级的中断,以及程序的非中断部分也会被阻塞。

最后一行:不要这样做。

相关内容

  • 没有找到相关文章

最新更新