freertos默认任务调度方式

默认模式为基于时间片的抢占式

以stm32MX生成的代码为基准
结论:基于时间片式的抢占式任务

有关宏定义:
configUSE_PREEMPTION 1
configUSE_TIME_SLICING 1(默认为1)
在这里插入图片描述


1.基于时间片的抢占式调度:
configUSE_PREEMPTION 1
configUSE_TIME_SLICING 1(默认为1)

2.无时间片的抢占式调度:
configUSE_PREEMPTION 1
configUSE_TIME_SLICING 0(一般需要手动在FreeRTOSConfig.h中定义)

3.协作调度
configUSE_PREEMPTION 0
configUSE_TIME_SLICING 0/1(无所谓数值)


网上有很多调度模式的介绍,但是却搜不到freertos的默认情况。
因为在实验中发现了设置while(1);使用的情况并不影响抢占式调度,所以查询了很多网站,最后得出的结论。目前只有以上这种方式可以解释清楚,如有不正确还请指出。

posted @ 2022-10-28 16:29  东风点点吹  阅读(48)  评论(0)    收藏  举报  来源