历史上的今天
今天是:2025年04月25日(星期五)
2019年04月25日 | UCOSIII时间片轮转调度器
2019-04-25 来源:eefocus
时间片轮转调度器用于时间片轮转调度为函数OS_SchedRoundRobin(),
此函数由OSTimeTick或者OS_IntQTask()调用,函数在文件os_core.c中定义。
一、OSSchedRoundRobinCfg()函数:使能或失能时间片轮转调度功能
如果我们想要使用UCOSIII的时间片轮转调度的话不仅要将宏OS_CFG_SCHED_ROUND_ROBIN_EN置1,还需要调用函数OSSchedRoundRobinCfg(),函数原型如下
void OSSchedRoundRobinCfg (CPU_BOOLEAN en,//使能时间片轮转调度机制
OS_TICK dflt_time_quanta,//设置默认时间片长度,即系统时钟节拍个数,200HZ为5ms
OS_ERR *p_err)

二、OSSchedRoundRobinYield()函数
当一个任务想要放弃本次时间片的时候,就可以调用该函数,函数原型如下:
void OSSchedRoundRobinYield (OS_ERR *p_err)
函数OSSchedRoundRobinYield()使用示例如下:
void Task(void *p_arg)
{
OS_RR err;
while(1)
{
……
OSSchedRoundRobinYield(&err);
…..
}
}
三、一般编写步骤:
1、设置宏OS_CFG_SCHED_ROUND_ROBIN_EN为1,

2、调用函数OSSchedRoundRobinCfg()开启时间片轮转调度功能,并且设置时间片长度。
3、编写任务函数
注意:
OS_TICK就是使能时间片轮转时的时间片长度,为0时为默认长度

在使用时间片轮转时,两个任务的优先级要是一致的
史海拾趣
|
路由器天线DIY集目录 奶粉罐天线光盘天线易拉罐天线厨具漏勺天线卫星天线制作其他超强天线 无线路由器越来越普及,引出的讨论也越来越多。特别是信号强度,接收性的问题相当值得注意。而大家最经常想到、比较可行的办法就是采用增益天 ...… 查看全部问答> |
|
刚入手ARM开发,接到一个有关视频无线传输的课题,使用ARM2440/WinCE5.0。传输采用华硕的WL167G无线网卡(USB接口),可是在网上搜了很久。却始终没有找到WL167G在wince平台下的驱动源码。请有过这方面开发经验的同仁提供一点USB无线 ...… 查看全部问答> |
|
转载:CCS3.3设置支持float point support 的方法(针对28335) 最近发现好多朋友的CCS3.3安装后,在编译时会出现 然后在网上找 ,说是要在Build option中 设置 float point support 但是 打开之后没有这一选项,如下图那么具体的解决办法按下边步骤操作(插图)第一步:(前提安装了CCS3.3,以及升级包,还有需 ...… 查看全部问答> |
|
求助:TMS570 NHET 如何利用HAL Code Generatr 实现输入捕捉程序?? 我用利用HAL Code Generatr配置rti 的counter0的campare0 产生10ms中断, 配置rti compare0中断 设置rti中断间隔 然后根据中断计数实现一个占空比50%的周期200ms的脉冲 把NHET3配置成输入捕捉 在NHET13脚输出到NHET3脚作为输入信号, 用r ...… 查看全部问答> |
|
三个定时器 TIM1 TIM2和TIM3, 用TIM2做主模式其他两个做从,可以实现。但是以TIM3做主模式,TIM1和TIM2做从时,定时器无法启动。是不是在这种情况下TIM3不能做主模式啊?下面是程序代码,请大家帮帮忙 。 ARE AND/OR THE USE MADE BY ...… 查看全部问答> |
|
本帖最后由 jameswangsynnex 于 2015-3-3 19:57 编辑 他把MT6592的性能来了个全面介绍,其中包括多项第一:全球第一个支持全高清1080p 30fps H.265和Google VP9 视频解码;全球第一个采用联发科技首创的ClearMotionTM 智能视频倍频技术等等,它可 ...… 查看全部问答> |




