章节列表

软定时器的原理与创建

2018-03-12 11:36:28 +0000 李述铜

在实际应用中,我们常常需要各种时间控制,比如在指定的时间、以特定的周期触发某种操作。

对于这种需求,可以考虑为其安排某个任务去完成,由任务自行tTaskDelay()。或者借助硬件定时器 + 定时处理任务来完成。如果系统中只有一个定时需求还好;一旦有多种需求,显然不可能为每种需求都配备一个任务,可能你会考虑能不能一个任务来管理所有的定时需求呢?

是的,这节课程中的软定时器就是用于解决这种需求。

主要内容

在课程中,提出了软定时器所要解决的定时器需求。

对于这两种需求,我们将其统一用软定时器结构表示。然后提出了用硬件定时器 + 软定时器处理任务来对所有的软定时器进行处理的方法。

此外,考虑到软定时器任务的优先级可能不高,导致可能被高优先级任务抢占,延迟对定时器列表的扫描,所以还增加了一条在定时器中断处理函数中直接扫描处理的列表。这个列表中所有定时器回调函数执行要尽可能快,避免拉长中断处理函数执行时间。

重点难点

注意事项

应用实例

常见问题