1.如果没有其他的任务可以运行,RTOS都会为CPU创建一个空闲任务这个时候CPU就运行空闲任务。
2.在uCOSIII中,空闲任务是系统在初始化的时候创建的优先级最低的任务,空闲任务OSTaskIdle()什么也不做,只是在不停的给一个32位的OSIdleCtr的计数器加1。
3.使用这个计数器以确定现行应用软件实际消耗的CPU时间。鉴于空闲任务的这种特性,在实际应用中,当系统进入空闲任务的时候,可在空闲任务中让单片机进入休眠或者低功耗等操作。
特点:
空闲任务是UCOSIII创建的第一个任务。
空闲任务是UCOSIII创建的,不需要手动创建,在调用OS_Init()初始化UCOS的时候就会被创建。
空闲任务优先级总是为OS_CFG_PRIO_MAK-1.
空闲任务中不能调用任何可是空闲任务进入等待的函数(比如延时函数)!!!
作用:
- 空闲任务可以降低CPU的使用率。
- 可以利用钩子函数实现低功耗相关功能。
为了更好的实现低功耗,空闲任务也很有必要,我们可以在空闲任务中实现睡眠,待机等低功耗措施。