下载 FreeRTOS
 

出色的 RTOS & 嵌入式软件

内核
最新资讯
简化任何设备的身份验证云连接。
利用 CoAP 设计节能型云连接 IoT 解决方案。
11.0.0 版 FreeRTOS 内核简介:
FreeRTOS 路线图和代码贡献流程。
使用 FreeRTOS 实现 OPC-UA over TSN。

软件定时器

本页介绍:


nutshell 中的软件定时器

软件定时器(或者只是“定时器” )能够让函数在 未来的设定时间执行。 由定时器执行的函数称为定时器的 回调函数。 从定时器启动到其回调函数执行之间的时间 被称为定时器的周期。 简而言之, 当定时器的周期到期时,定时器的回调函数会被执行。


请注意,在使用软件定时器之前,必须明确地创建它。


软件定时器实现的效率考虑因素

软件定时器功能很容易实现, 但很难高效地实现。 FreeRTOS 的实现不从中断上下文中执行定时器回调函数, 不消耗任何处理时间, 除非定时器实际上已经过期,不给 tick 中断增加任何处理开销, 并且在中断被禁用时 不走行任何链接列表结构体。

定时器服务任务(主要)利用现有 FreeRTOS 功能, 允许在对应用程序的可执行二进制文件的大小造成影响最小的情况下, 将定时器功能添加到应用程序中。


关于写入定时器回调函数的重要信息

定时器回调函数在定时器服务任务的上下文中执行。 因此, 定时器回调函数永远不试图阻塞是至关重要的 。 例如,定时器回调函数在访问队列或信号时,不得调用 vTaskDelay()、 vTaskDelayUntil(),也不得 指定非零阻塞时间。






Copyright (C) Amazon Web Services, Inc. or its affiliates. All rights reserved.