知识卡片

ISR应该短而确定

普通读书笔记卡 · 1797.d

内容

中断服务例程应快速保存必要状态、清除中断并退出,把复杂处理留给主循环或任务。发散:[[中断替代高频轮询]]能提高响应,但 ISR 越长越容易阻塞其他事件,最终制造抖动。

参考来源

- 位置:《嵌入式系统设计与实践》第5章《任务管理》"5.3.1"节附近关于中断嵌套的说明(源文件:_epub-src/OEBPS/text00073.html) - 结论依据:原文明确"如果禁止了中断嵌套,那么在处理中断的过程中,新的中断是被禁止的。此时,系统延迟可能就是处理最长的中断所花费的时间。保持中断尽可能短!",说明ISR执行时间直接决定系统对其他事件的响应延迟。 - 原始内容:注意:如果禁止了中断嵌套,那么在处理中断的过程中,新的中断是被禁止的。此时,系统延迟可能就是处理最长的中断所花费的时间。保持中断尽可能短!