在FreeRTOS中,任务的**就绪状态(Ready State)**意味着任务已准备好运行,但尚未被调度器分配CPU时间。以下是通过API使任务进入就绪状态的常见方法及其分类:
1. 恢复被挂起的任务
-
vTaskResume(TaskHandle_t xTaskToResume)
将被挂起(Suspended)的任务恢复为就绪状态。- 示例:
vTaskResume(xTaskHandle); // 恢复指定任务到就绪队列
- 示例:
-
xTaskResumeFromISR(TaskHandle_t xTaskToResume)
在中断服务程序(ISR)中恢复被挂起的任务。- 示例:
BaseType_t xYieldRequired = xTaskResumeFromISR(xTaskHandle); if (xYieldRequired) portYIELD_FROM_ISR();
- 示例: