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

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

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

(一)使用时间片轮转调度功能条件
在这里插入图片描述
(二)在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)
}

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值