FreeRTOS任务创建与执行
总结:
1.任务调度器只会执行任务优先级最高并且已经就绪的任务,并在死循环中不断运行,只有在堵塞或挂起打破。堵塞和挂起的任务不会被执行。堵塞并不会占用cpu。 vTaskDelay() API可以使得任务进入堵塞状态。如果最高优先级的任务进入堵塞或挂起状态,难么任务调度器就会自动的调度任务优先级仅次于上一级的任务去执行。
2.同等优先级的任务的执行通过时间片轮流切换。不是同时运行。时间片的大小通过FreeRTOSConfig.h 中的编译时配置常量 configTICK_RATE_HZ进行配置。
3.用户创建的任务都处于堵塞或者挂起状态时,CPU就会执行空闲任务
4.设置的中断优先级分组必须为4
5.任务堵塞时,任务调度器就立马调用次优先级的任务执行,不需要等一个时间片