一、简介
- 在 FreeRTOS 中,vTaskDelay 函数用于使当前任务进入阻塞状态,直到指定的时间段过去。
- vTaskDelay 的参数以“滴答数”(tick)为单位,滴答数由系统时钟决定。
二、原理
1. 系统滴答时间
- 系统滴答时间是 FreeRTOS 内核的时间基准。
- 由 configTICK_RATE_HZ 宏定义,表示每秒钟的滴答次数。
2. 毫秒to滴答数
三、应用
- 包含头文件
#if USE_FREERTOS
#include "FreeRTOS.h"
#include "task.h"
#include "projdefs.h" // ms 转 tick 的宏pdMS_TO_TICKS( xTimeInMs ) 定义在该文件中
#endif
- 调用函数
vTaskDelay(pdMS_TO_TICKS(500));