μC/OS-II--时间管理

时间管理主要将任务进行延时,进入等待状态,以及取消延时,结束等待。1、任务延时调用OSTimeDly可以使任务进入等待状态,进行一段特定时间的延时,同时系统进行以一次任务调度,执行下一个优先级最高的就绪态任务,一旦时间期满或者其他任务调用了OSTimeDlyResume取消了延时,等待状态的任务就会进入就绪态。void OSTimeDly (INT16U ticks){ ...
摘要由CSDN通过智能技术生成

时间管理主要将任务进行延时,进入等待状态,以及取消延时,结束等待。

1、任务延时

调用OSTimeDly可以使任务进入等待状态,进行一段特定时间的延时,同时系统进行以一次任务调度,执行下一个优先级最高的就绪态任务,一旦时间期满或者其他任务调用了OSTimeDlyResume取消了延时,等待状态的任务就会进入就绪态。

void  OSTimeDly (INT16U ticks)
{
    INT8U      y;
#if OS_CRITICAL_METHOD == 3                      //为CPU状态寄存器分配内存
    OS_CPU_SR  cpu_sr = 0;
#endif



    if (OSIntNesting > 0) {                     //检查是否中断
        return;
    }
    if (ticks > 0) {                            //延时时间大于0
        OS_ENTER_CRITICAL();
        y            =  OSTCBCur->OSTCBY;        //获取就绪表组                              
        OSRdyTbl[y] &= ~OSTCBCur->OSTCBBitX;    //将就绪表该任务为清0
        if (OSRdyTbl[y] == 0) {//如果就绪表该字节为0,说明该组的任务都没有就绪
            OSRdyGrp &= ~OSTCBCur->OSTCBBitY;  //就绪组清零
        }
        OSTCBCur->OSTCBDly = ticks;              //将当前任务
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
This book describes the design and implementation of mC/OS-II (pronounced "Micro C O S 2") which stands for<br>Micro-Controller Operating System Version 2. μC/OS -II is based on μC/OS, The Real-Time Kernel which was first<br>published in 1992. Thousands of people around the world are using μC/OS in all kinds of applications such as<br>cameras, medical instruments, musical instruments, engine controls, network adapters, highway telephone call boxes,<br>ATM machines, industrial robots, and many more. Nu merous colleges and Universities have also used μC/OS to<br>teach students about real-time systems.<br>μC/OS-II is upward compatible with μC/OS (V1.11) but provides many improvements over μC/OS such as the<br>addition of a fixed-sized memory manager, user definable callouts on task creation, task deletion, task switch and<br>system tick, supports TCB extensions, stack checking and, much more. I also added comments to just about every<br>function and I made μC/OS -II much easier to port to different processors. The source code in μC/OS was found in two<br>source files. Because μC/OS-II contains many new features and functions, I decided to split μC/OS-II in a few source<br>files to make the code easier to maintain.<br>If you currently have an application (i.e. product) that runs with μC/OS, your application should be able to run,<br>virtually unchanged, with μC/OS-II. All of the services (i.e. function calls) provided by μC/OS have been preserved.<br>You may, however, have to change include files and product build files to ‘point’ to the new file names.<br>This book contains ALL the source code for μC/OS-II and a port for the Intel 80x86 processor running in Real-Mode<br>and for the Large Model. The code was developed on a PC running the Microsoft Windows 95 operating system.<br>Examples run in a DOS compatible box under the Windows 95 environment. Development was done using the<br>Borland International C/C++ compiler version 3.1. Although μC/OS-II was developed and tested on a PC, mC/OS-II<br>was actually targeted for embedded systems and can easily be ported to many different processor architectures.

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值