FreeRTOS 任务基础
理解 FreeRTOS 任务的创建、运行与延时。
FreeRTOS 任务是由调度器管理的独立执行单元。任务函数通常使用无限循环,并在每次处理后主动阻塞。
任务模型
static void led_task(void *argument){ (void)argument;
for (;;) { toggle_status_led(); vTaskDelay(pdMS_TO_TICKS(500)); }}vTaskDelay 让出 CPU,使其他就绪任务可以运行。它与忙等延时的资源消耗模式不同。
状态转换
stateDiagram-v2
Ready --> Running: 获得 CPU
Running --> Blocked: vTaskDelay
Blocked --> Ready: 延时结束