知识卡片
ISR应该短而确定
内容
中断服务例程应快速保存必要状态、清除中断并退出,把复杂处理留给主循环或任务。发散:[[中断替代高频轮询]]能提高响应,但 ISR 越长越容易阻塞其他事件,最终制造抖动。
参考来源
- 位置:《嵌入式系统设计与实践》第5章《任务管理》"5.3.1"节附近关于中断嵌套的说明(源文件:_epub-src/OEBPS/text00073.html)
- 结论依据:原文明确"如果禁止了中断嵌套,那么在处理中断的过程中,新的中断是被禁止的。此时,系统延迟可能就是处理最长的中断所花费的时间。保持中断尽可能短!",说明ISR执行时间直接决定系统对其他事件的响应延迟。
- 原始内容:注意:如果禁止了中断嵌套,那么在处理中断的过程中,新的中断是被禁止的。此时,系统延迟可能就是处理最长的中断所花费的时间。保持中断尽可能短!