1. 任务特性
1.1 抢占式
高优先级的任务可以打断低优先级任务的运行,取得CPU使用权,可以将实时性要求高的任务设置为高优先级
1.2 任务调度器
确保当一个任务开始执行的时候其上下文环境和任务上一次退出的时候相同。为实现这一目的,每个任务都有自己的堆栈,当任务切换的时候,将上下文环境保存在堆栈中。
1.3 任务状态
- 运行态: 任务正在运行
- 就绪态: 可以运行,但是还未运行
- 阻塞态: 正在等待外部事件,如:延时、队列、信号量等
- 挂起态: 任务不能被运行,退出挂起态后任务才可以被运行
1.4 任务优先级
处于就绪态的最高优先级的任务才会运行
优先级 0 ~ configMAX_PRIORITIES - 1 数字越大任务优先级越高
空闲任务优先级为0
1.5 任务实现
本质就是一个函数,返回值必须为void ,函数中必须包含一个死循环,任务应用程序写到死循环中