必须在中断(ISR)内处理时间关键运算:
ISR 函数变得非常复杂,并且需要很长执行时间。
ISR 嵌套可能产生不可预测的执行时间和堆栈需求。
超级循环和 ISR 之间的数据交换是通过全局共享变量进行的:
应用程序的程序员必须确保数据一致性。
超级循环可以与系统计时器轻松同步,但:
如果系统需要多种不同的周期时间,则会很难实现。
超过超级循环周期的耗时函数需要做拆分。
增加软件开销,应用程序难以理解。
超级循环使得应用程序变得非常复杂,因此难以扩展:
一个简单的更改就可能产生不可预测的副作用,对这种副作用进行分析非常耗时。
超级循环概念的这些缺点可以通过使用实时操作系统 (RTOS) 来解决。
|