首页 > 其他 > 详细

003_时间片轮转调度及中断函数

时间:2018-12-22 11:07:40      阅读:245      评论:0      收藏:0      [点我收藏+]

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

技术分享图片

(二)在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)
}

 

003_时间片轮转调度及中断函数

原文:https://www.cnblogs.com/luxiaoguogege/p/10159856.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!