RTOS 时间管理篇-软定时器xTimer处理一次性定时事件

RTOS 时间管理篇-软定时器xTimer处理一次性定时事件

概述

上节讲述了 RTOS 中延时的各种策略。在实际的开发需求中,实现定时触发一个动作的需求也很普遍。

如前所述,设备的硬件定时器资源有限,RTOS 中提供可软件实现的定时器组件,可以实现精度不那么高的定时任务。

FreeRTOS 提供的软件定时器支持单次模式和周期模式,单次模式和周期模式的定时事件到之后都会调用软件定时器的回调函数,用户可以在回调函数中加入要执行的工程代码。

在这里插入图片描述

单次定时事件是指:在指定的一段时间后,仅触发一次一段代码的执行。如上图的周期为 3 的Timer1,若为单次软定时器,在 t1 启动后,会在 t4 执行一次回调。

周期模式的定时事件:每隔一断时间就触发一次一段代码的执行。如上图的周期为 3 的Timer1,若为周期性软定时器,在 t1 启动后,会在 t4、t7、t11 分别被执行回调,直到该定时器被停止或者销毁。

软件定时器 xTimer 的运作机制

FreeRTOS 通过一个 TimerTask 任务(也叫守护任务Daemon&#x

猜你喜欢

转载自blog.csdn.net/wangyx1234/article/details/128377450