FreeRTOS任务的状态有四种:运行、就绪、阻塞、挂起。
运行态(runnnig):当任务正在运行,此时的状态被称为运行态,任务会占用CPU使用权,运行态可以转化为挂起态和阻塞态;
挂起态(suspended):任务被暂时停止,通过调用挂起函数(vTaskSuspend())可以把指定任务挂起,任务挂起后暂时不会运行,只有调用恢复函数(xTaskResume())才可以退出挂起状态,进入就绪态;
阻塞态(blocked):任务在等待信号量、队列、事件组、系统延时等,被称为阻塞态,如果等待的事件到了,就会自动退出阻塞态成为就绪态,准备运行;
就绪态(ready):任务已经具备了运行条件,但是可能没有CPU使用权,或者更高优先级的任务正在运行,所以需要等待的状态。
运行态只能由就绪态转换而来,就绪态不能转换为阻塞态!