历史上的今天
返回首页

历史上的今天

今天是: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时为默认长度


在使用时间片轮转时,两个任务的优先级要是一致的

推荐阅读

史海拾趣

Dover Corporation公司的发展小趣事

为了进一步扩大市场份额,Dover Corporation积极推进国际化布局。公司通过与国际、国内投行及私募基金的合作,成功收购了多家海外公司,实现了业务的全球化。这些收购不仅为Dover带来了更多的市场机会,也增强了其在全球市场中的竞争力。

艾迈斯(AMASS)公司的发展小趣事

随着电子行业的快速发展,艾迈斯(AMASS)公司意识到只有不断创新才能保持领先地位。为此,公司加大了对研发的投入,引进了一批高素质的研发人才,并建立了完善的研发体系。经过多年的努力,艾迈斯成功研发出了多款具有创新性的连接器产品,其中包括高性能、高安全性的智能设备动力连接器。这些产品的推出不仅提升了公司的技术实力和市场竞争力,也为整个行业的发展带来了积极的影响。

Carlisle Interconnect Components公司的发展小趣事

在电子行业快速发展的背景下,Carlisle Interconnect Components公司始终将技术研发和持续创新作为公司发展的核心动力。公司投入大量资源用于研发新型连接器技术,不断推出具有更高性能、更小型化、更智能化的产品。这些创新产品的问世,不仅为公司带来了更多的市场机遇,更推动了整个电子连接器行业的进步。

HI Microwave Technology Limited公司的发展小趣事

人才是企业最宝贵的资源。HI Microwave高度重视人才培养和团队建设,通过引进和培养高素质的技术人才和管理人才,不断提升企业的核心竞争力。公司建立了完善的人才激励机制和培训体系,鼓励员工不断学习和创新。同时,公司还注重营造和谐、开放的企业文化氛围,激发员工的积极性和创造力。这些措施为公司的持续发展提供了有力的人才保障和智力支持。

Caddell-Burns Manufacturing公司的发展小趣事

Caddell-Burns Manufacturing公司的创立源于两位创始人Caddell和Burns的远见卓识。上世纪80年代初,电子制造业正值蓬勃发展之际,两人看到了其中的商机,决定联手创办一家专注于电子零部件生产的公司。他们凭借自己的技术背景和行业经验,成功研发出了几款具有竞争力的产品,并逐渐在市场上站稳脚跟。在创业初期,公司虽然规模不大,但凭借过硬的产品质量和良好的客户服务,赢得了客户的信任和支持。

华大北斗(Allystar)公司的发展小趣事

随着科技的不断发展,Caddell-Burns Manufacturing公司意识到技术创新是保持竞争力的关键。于是,公司加大了对研发的投入,引进了一批高素质的技术人才,不断推出具有创新性的电子产品。这些新产品不仅提高了公司的市场份额,也为客户提供了更优质的服务。同时,公司还积极与高校和研究机构合作,开展产学研一体化项目,进一步提升了公司的技术实力。

问答坊 | AI 解惑

看看大牛们是怎样制作无线路由器天线的 !

路由器天线DIY集目录 奶粉罐天线光盘天线易拉罐天线厨具漏勺天线卫星天线制作其他超强天线    无线路由器越来越普及,引出的讨论也越来越多。特别是信号强度,接收性的问题相当值得注意。而大家最经常想到、比较可行的办法就是采用增益天 ...…

查看全部问答>

求助电子钟代码

各位高手请帮忙,需要实现如下要求的电子钟         设计1个电子钟,用4位7段码LED显示器,显示当前时间时和分。时和分之间设一“小数点”,每秒钟小数点闪动1次。用89C2051内部定时器定时,每10ms中断1次,中断100次后秒单元 ...…

查看全部问答>

寻USB无线网卡驱动(Wince平台下)

    刚入手ARM开发,接到一个有关视频无线传输的课题,使用ARM2440/WinCE5.0。传输采用华硕的WL167G无线网卡(USB接口),可是在网上搜了很久。却始终没有找到WL167G在wince平台下的驱动源码。请有过这方面开发经验的同仁提供一点USB无线 ...…

查看全部问答>

关于工作的问题

我是一名大二的学生 马上大三了,现在想以后进入嵌入式软件开发这一块 听说要把C学的和好,但老师说嵌入式现在刚刚毕业的学生很难找到工作,所以自己拿不定主义,哪位仁兄说下现在嵌入式的就业情况,本科毕业就那么那找工作么?谢谢了!还有 是不是 ...…

查看全部问答>

转载:CCS3.3设置支持float point support 的方法(针对28335)

最近发现好多朋友的CCS3.3安装后,在编译时会出现 然后在网上找 ,说是要在Build option中 设置 float point support 但是 打开之后没有这一选项,如下图那么具体的解决办法按下边步骤操作(插图)第一步:(前提安装了CCS3.3,以及升级包,还有需 ...…

查看全部问答>

寻找zhdphao,在线吗?能否加下QQ,有个问题想请教!!!

搞定了。。。。请教个问题,谢谢! [ 本帖最后由 youki12345 于 2012-6-11 09:05 编辑 ]…

查看全部问答>

求助:TMS570 NHET 如何利用HAL Code Generatr 实现输入捕捉程序??

我用利用HAL Code Generatr配置rti 的counter0的campare0 产生10ms中断, 配置rti compare0中断 设置rti中断间隔 然后根据中断计数实现一个占空比50%的周期200ms的脉冲 把NHET3配置成输入捕捉 在NHET13脚输出到NHET3脚作为输入信号, 用r ...…

查看全部问答>

STM32定时器同步

三个定时器 TIM1 TIM2和TIM3,  用TIM2做主模式其他两个做从,可以实现。但是以TIM3做主模式,TIM1和TIM2做从时,定时器无法启动。是不是在这种情况下TIM3不能做主模式啊?下面是程序代码,请大家帮帮忙 。 ARE AND/OR THE USE MADE BY ...…

查看全部问答>

MTK发布8核处理器MT6592

本帖最后由 jameswangsynnex 于 2015-3-3 19:57 编辑 他把MT6592的性能来了个全面介绍,其中包括多项第一:全球第一个支持全高清1080p 30fps H.265和Google VP9 视频解码;全球第一个采用联发科技首创的ClearMotionTM 智能视频倍频技术等等,它可 ...…

查看全部问答>

請教PIC24F16KA102的EEPROM使用方式?

請教前輩可否提供PIC24F16KA102的EEPROM的讀取、寫入、擦除的簡單範例給小弟參考,感謝! …

查看全部问答>