1,任务状态
2,任务的优先级
- 优先级数字越低表示任务的优先级越低,0的优先级最低,故configMAX_PRIORITIES-1的优先级最高。空闲任务的优先级最低,为0。
- FreeRTOS调度器确保处于就绪态或运行态的高优先级的任务获取处理器使用权,换句话说就是处于就绪态的最高优先级的任务才会运行。
- 当宏configUSE_TIME_SLICING定义为1的时候多个任务可以共用一个优先级,数量不限。
- 默认情况下宏configUSE_TIME_SLICING已经定义为1.此时处于就绪态的优先级相同的任务就会使用时间片轮转调度器获取运行时间。
3,任务挂起和恢复的情形
如图4所示,任务挂起实现
void vTaskSuspend( TaskHandle_t xTaskToSuspend )
{
TCB_t *pxTCB;
taskENTER_CRITICAL();
{
/* 如