003_时间片轮转调度及中断函数
(一)使用时间片轮转调度功能条件
(二)在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) }