(一)使用时间片轮转调度功能条件

(二)在os_cfg.h头文件中将OS_CFG_SCHED_ROUND_ROBIN_EN置一
#define OS_CFG_SCHED_ROUND_ROBIN_EN 1u
(三)调用OSSchedRoundRobinCfg函数,在start中调用这个函数
#if OS_CFG_SCHED_ROUND_ROBIN_EN //当使用时间片轮转的时候
//使能时间片轮转调度功能,时间片长度为1个系统时钟节拍,既1*5=5ms
/*使能 时间片长度 错误返回码*/
OSSchedRoundRobinCfg(DEF_ENABLED,1,&err);
#endif
(四)在创建任务时候确定使用多少个任务时间片

(五)注意时间片调用时间
(六)中断函数在使用
void XXX_Handler(void) (1)
{
OSIntEnter(); //进入中断 (2)
用户自行编写的中断服务程序; //这部分就是我们的中断服务程序 (3)
OSIntExit(); //触发任务切换软中断 (4)
}

本文详细介绍了RTOS中时间片轮转调度的实现步骤,包括配置开启功能、设置时间片长度、创建任务时分配时间片及注意事项。适用于希望深入了解RTOS调度机制的开发者。
602

被折叠的 条评论
为什么被折叠?



