工具/软件:Code Composer Studio
我正在使用计时器构建基本的合作任务调度程序。 快速总结、一个定时器每 x ms 触发一次、在定时器 ISR 中、一个检查任务是否应该被执行并设定一个标志的函数被调用。 然后、主循环中的函数会永久检查列表中的每个任务、以查看是否应执行这些任务。
我希望避免在主循环中持续轮询、以便我可以睡眠或执行其他任务。 这基本上需要我将与任务相关的函数移动到计时器 ISR。 它的问题是需要触发的关键 ISR (传入的 UART 数据和用于检查系统锁定的 WDT 周期计时器) 不会触发。 我可能允许嵌套中断、但任务调度程序的简单性/安全性会变得不太直接。
我最好处理主体中任务标志的轮询、还是应该考虑使用嵌套中断、或者我没有考虑过的问题?