亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? os_time.lst

?? uCOS 嵌入式操作系統的改進版,增加了網絡通訊.
?? LST
字號:
C51 COMPILER V7.06   OS_TIME                                                               07/18/2003 11:06:05 PAGE 1   


C51 COMPILER V7.06, COMPILATION OF MODULE OS_TIME
OBJECT MODULE PLACED IN .\os_time.obj
COMPILER INVOKED BY: C:\KEIL\C51\BIN\C51.EXE ..\keilc51\os_time.c LARGE BROWSE DEBUG OBJECTEXTEND PRINT(.\os_time.lst) O
                    -BJECT(.\os_time.obj)

stmt level    source

   1          /*
   2          *********************************************************************************************************
   3          *                                                uC/OS-II
   4          *                                          The Real-Time Kernel
   5          *                                             TIME MANAGEMENT
   6          *
   7          *                          (c) Copyright 1992-2002, Jean J. Labrosse, Weston, FL
   8          *                                           All Rights Reserved
   9          *
  10          * File : OS_TIME.C
  11          * By   : Jean J. Labrosse
  12          *********************************************************************************************************
  13          */
  14          
  15          #ifndef  OS_MASTER_FILE
  16          #include "includes.h"
  17          #endif
  18          
  19          /*
  20          *********************************************************************************************************
  21          *                                DELAY TASK 'n' TICKS   (n from 0 to 65535)
  22          *
  23          * Description: This function is called to delay execution of the currently running task until the
  24          *              specified number of system ticks expires.  This, of course, directly equates to delaying
  25          *              the current task for some time to expire.  No delay will result If the specified delay is
  26          *              0.  If the specified delay is greater than 0 then, a context switch will result.
  27          *
  28          * Arguments  : ticks     is the time delay that the task will be suspended in number of clock 'ticks'.
  29          *                        Note that by specifying 0, the task will not be delayed.
  30          *
  31          * Returns    : none
  32          *********************************************************************************************************
  33          */
  34          
  35          void  OSTimeDly (INT16U ticks) reentrant //using 0
  36          {
  37   1      #if OS_CRITICAL_METHOD == 3                      /* Allocate storage for CPU status register           */
  38   1          OS_CPU_SR  cpu_sr;
  39   1      #endif    
  40   1          INT8U      y;
  41   1      
  42   1      
  43   1          if (ticks > 0) {                             /* 0 means no delay!                                  */
  44   2              OS_ENTER_CRITICAL();
  45   2                      y            =  OSTCBCur->OSTCBY;            /* Delay current task                                 */
  46   2                      OSRdyTbl[y] &= ~OSTCBCur->OSTCBBitX;
  47   2              if (OSRdyTbl[y] == 0) {  
  48   3                  OSRdyGrp &= ~OSTCBCur->OSTCBBitY;
  49   3              }
  50   2              OSTCBCur->OSTCBDly = ticks;              /* Load ticks in TCB                                  */
  51   2              OS_EXIT_CRITICAL();
  52   2              OS_Sched();                              /* Find next task to run!                             */
  53   2          }
  54   1      }
C51 COMPILER V7.06   OS_TIME                                                               07/18/2003 11:06:05 PAGE 2   

  55          /*$PAGE*/
  56          /*
  57          *********************************************************************************************************
  58          *                                     DELAY TASK FOR SPECIFIED TIME
  59          *
  60          * Description: This function is called to delay execution of the currently running task until some time
  61          *              expires.  This call allows you to specify the delay time in HOURS, MINUTES, SECONDS and
  62          *              MILLISECONDS instead of ticks.
  63          *
  64          * Arguments  : hours     specifies the number of hours that the task will be delayed (max. is 255)
  65          *              minutes   specifies the number of minutes (max. 59)
  66          *              seconds   specifies the number of seconds (max. 59)
  67          *              milli     specifies the number of milliseconds (max. 999)
  68          *
  69          * Returns    : OS_NO_ERR
  70          *              OS_TIME_INVALID_MINUTES
  71          *              OS_TIME_INVALID_SECONDS
  72          *              OS_TIME_INVALID_MS
  73          *              OS_TIME_ZERO_DLY
  74          *
  75          * Note(s)    : The resolution on the milliseconds depends on the tick rate.  For example, you can't do
  76          *              a 10 mS delay if the ticker interrupts every 100 mS.  In this case, the delay would be
  77          *              set to 0.  The actual delay is rounded to the nearest tick.
  78          *********************************************************************************************************
  79          */
  80          
  81          #if OS_TIME_DLY_HMSM_EN > 0
  82          INT8U  OSTimeDlyHMSM (INT8U hours, INT8U minutes, INT8U seconds, INT16U milli) reentrant //using 0
  83          {
  84   1          INT32U ticks;
  85   1          INT16U loops;
  86   1      
  87   1      
  88   1          if (hours == 0) {
  89   2              if (minutes == 0) {
  90   3                  if (seconds == 0) {
  91   4                      if (milli == 0) {
  92   5                          return (OS_TIME_ZERO_DLY);
  93   5                                      }
  94   4                              }
  95   3                      }
  96   2              }
  97   1          if (minutes > 59) {
  98   2              return (OS_TIME_INVALID_MINUTES);        /* Validate arguments to be within range              */
  99   2          }
 100   1          if (seconds > 59) {
 101   2              return (OS_TIME_INVALID_SECONDS);
 102   2          }
 103   1          if (milli > 999) {
 104   2              return (OS_TIME_INVALID_MILLI);
 105   2          }
 106   1                                                       /* Compute the total number of clock ticks required.. */
 107   1                                                       /* .. (rounded to the nearest tick)                   */
 108   1          ticks = ((INT32U)hours * 3600L + (INT32U)minutes * 60L + (INT32U)seconds) * OS_TICKS_PER_SEC
 109   1                + OS_TICKS_PER_SEC * ((INT32U)milli + 500L / OS_TICKS_PER_SEC) / 1000L;
 110   1          loops = (INT16U)(ticks / 65536L);            /* Compute the integral number of 65536 tick delays   */
 111   1          ticks = ticks % 65536L;                      /* Obtain  the fractional number of ticks             */
 112   1          OSTimeDly((INT16U)ticks);
 113   1          while (loops > 0) {
 114   2              OSTimeDly((INT16U)32768u);
 115   2              OSTimeDly((INT16U)32768u);
 116   2              loops--;
C51 COMPILER V7.06   OS_TIME                                                               07/18/2003 11:06:05 PAGE 3   

 117   2          }
 118   1          return (OS_NO_ERR);
 119   1      }
 120          #endif
 121          /*$PAGE*/
 122          /*
 123          *********************************************************************************************************
 124          *                                         RESUME A DELAYED TASK
 125          *
 126          * Description: This function is used resume a task that has been delayed through a call to either
 127          *              OSTimeDly() or OSTimeDlyHMSM().  Note that you MUST NOT call this function to resume a
 128          *              task that is waiting for an event with timeout.  This situation would make the task look
 129          *              like a timeout occurred (unless you desire this effect).  Also, you cannot resume a task
 130          *              that has called OSTimeDlyHMSM() with a combined time that exceeds 65535 clock ticks.  In
 131          *              other words, if the clock tick runs at 100 Hz then, you will not be able to resume a
 132          *              delayed task that called OSTimeDlyHMSM(0, 10, 55, 350) or higher.
 133          *
 134          *                  (10 Minutes * 60 + 55 Seconds + 0.35) * 100 ticks/second.
 135          *
 136          * Arguments  : prio      specifies the priority of the task to resume
 137          *
 138          * Returns    : OS_NO_ERR                 Task has been resumed
 139          *              OS_PRIO_INVALID           if the priority you specify is higher that the maximum allowed
 140          *                                        (i.e. >= OS_LOWEST_PRIO)
 141          *              OS_TIME_NOT_DLY           Task is not waiting for time to expire
 142          *              OS_TASK_NOT_EXIST         The desired task has not been created
 143          *********************************************************************************************************
 144          */
 145          
 146          #if OS_TIME_DLY_RESUME_EN > 0
 147          INT8U  OSTimeDlyResume (INT8U prio) reentrant //using 0
 148          {
 149   1      #if OS_CRITICAL_METHOD == 3                      /* Allocate storage for CPU status register           */
 150   1          OS_CPU_SR  cpu_sr;
 151   1      #endif    
 152   1          OS_TCB    *ptcb;
 153   1      
 154   1      
 155   1          if (prio >= OS_LOWEST_PRIO) {
 156   2              return (OS_PRIO_INVALID);
 157   2          }
 158   1          OS_ENTER_CRITICAL();
 159   1          ptcb = (OS_TCB *)OSTCBPrioTbl[prio];                   /* Make sure that task exist                */
 160   1          if (ptcb != (OS_TCB *)0) {
 161   2              if (ptcb->OSTCBDly != 0) {                         /* See if task is delayed                   */
 162   3                  ptcb->OSTCBDly  = 0;                           /* Clear the time delay                     */
 163   3                  if ((ptcb->OSTCBStat & OS_STAT_SUSPEND) == OS_STAT_RDY) {  /* See if task is ready to run  */
 164   4                      OSRdyGrp               |= ptcb->OSTCBBitY;             /* Make task ready to run       */
 165   4                      OSRdyTbl[ptcb->OSTCBY] |= ptcb->OSTCBBitX;
 166   4                      OS_EXIT_CRITICAL();
 167   4                      OS_Sched();                                /* See if this is new highest priority      */
 168   4                  } else {
 169   4                      OS_EXIT_CRITICAL();                        /* Task may be suspended                    */
 170   4                  }
 171   3                  return (OS_NO_ERR);
 172   3              } else {
 173   3                  OS_EXIT_CRITICAL();
 174   3                  return (OS_TIME_NOT_DLY);                      /* Indicate that task was not delayed       */
 175   3              }
 176   2          }
 177   1          OS_EXIT_CRITICAL();
 178   1          return (OS_TASK_NOT_EXIST);                            /* The task does not exist                  */
C51 COMPILER V7.06   OS_TIME                                                               07/18/2003 11:06:05 PAGE 4   

 179   1      }
 180          #endif    
 181          /*$PAGE*/
 182          /*
 183          *********************************************************************************************************
 184          *                                         GET CURRENT SYSTEM TIME
 185          *
 186          * Description: This function is used by your application to obtain the current value of the 32-bit
 187          *              counter which keeps track of the number of clock ticks.
 188          *
 189          * Arguments  : none
 190          *
 191          * Returns    : The current value of OSTime
 192          *********************************************************************************************************
 193          */
 194          
 195          #if OS_TIME_GET_SET_EN > 0
 196          INT32U  OSTimeGet (void) reentrant //using 0
 197          {
 198   1      #if OS_CRITICAL_METHOD == 3                      /* Allocate storage for CPU status register           */
 199   1          OS_CPU_SR  cpu_sr;
 200   1      #endif    
 201   1          INT32U     ticks;
 202   1      
 203   1      
 204   1          OS_ENTER_CRITICAL();
 205   1          ticks = OSTime;
 206   1          OS_EXIT_CRITICAL();
 207   1          return (ticks);
 208   1      }
 209          #endif    
 210          
 211          /*
 212          *********************************************************************************************************
 213          *                                            SET SYSTEM CLOCK
 214          *
 215          * Description: This function sets the 32-bit counter which keeps track of the number of clock ticks.
 216          *
 217          * Arguments  : ticks      specifies the new value that OSTime needs to take.
 218          *
 219          * Returns    : none
 220          *********************************************************************************************************
 221          */
 222          
 223          #if OS_TIME_GET_SET_EN > 0
 224          void  OSTimeSet (INT32U ticks) reentrant //using 0
 225          {
 226   1      #if OS_CRITICAL_METHOD == 3                      /* Allocate storage for CPU status register           */
 227   1          OS_CPU_SR  cpu_sr;
 228   1      #endif    
 229   1      
 230   1      
 231   1          OS_ENTER_CRITICAL();
 232   1          OSTime = ticks;
 233   1          OS_EXIT_CRITICAL();
 234   1      }
 235          #endif    


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =   1091    ----
   CONSTANT SIZE    =   ----    ----
C51 COMPILER V7.06   OS_TIME                                                               07/18/2003 11:06:05 PAGE 5   

   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =   ----    ----
   IDATA SIZE       =   ----    ----
   BIT SIZE         =   ----    ----
END OF MODULE INFORMATION.


C51 COMPILATION COMPLETE.  0 WARNING(S),  0 ERROR(S)

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
丝袜诱惑亚洲看片| 水野朝阳av一区二区三区| 91精品国产色综合久久不卡蜜臀| 成人三级在线视频| 成人教育av在线| 不卡一区二区中文字幕| av中文一区二区三区| 99综合电影在线视频| 波多野结衣精品在线| 99热99精品| 欧美亚洲日本一区| 欧美人与禽zozo性伦| 欧美一区二区三区影视| 亚洲精品在线电影| 国产嫩草影院久久久久| 亚洲欧美另类图片小说| 亚洲国产精品人人做人人爽| 日韩专区在线视频| 国内精品久久久久影院色| 国产成人精品一区二| 91丝袜美腿高跟国产极品老师 | 欧美一区二区成人| 日韩欧美在线网站| 国产欧美日韩另类一区| 夜夜揉揉日日人人青青一国产精品 | 欧洲精品一区二区| 欧美一区二区日韩一区二区| 26uuu久久天堂性欧美| 国产精品久久久久久久久动漫| 亚洲伊人伊色伊影伊综合网| 免费视频最近日韩| 91在线视频官网| 91麻豆精品久久久久蜜臀| wwww国产精品欧美| 亚洲一区二区美女| 国产成人av福利| 欧美性色综合网| 国产无遮挡一区二区三区毛片日本| 亚洲欧洲日韩在线| 蜜臀av性久久久久蜜臀av麻豆| 成人在线视频一区| 在线不卡的av| 亚洲三级免费电影| 韩国女主播一区二区三区| av高清久久久| 日韩欧美在线不卡| 亚洲一区二区高清| 成人一区二区在线观看| 日韩免费一区二区| 亚洲电影一级黄| 97久久精品人人澡人人爽| 日韩一级黄色片| 亚洲综合免费观看高清完整版| 国产真实乱子伦精品视频| 欧美视频完全免费看| 国产精品福利av| 国产一级精品在线| 日韩亚洲欧美在线观看| 亚洲已满18点击进入久久| av成人动漫在线观看| 欧美成人精品福利| 免费在线一区观看| 欧美日韩一本到| 亚洲精品久久久久久国产精华液| 国产精品综合一区二区| 日韩精品一区二区三区蜜臀 | 欧美日韩国产中文| 一区二区三区自拍| 99久久精品99国产精品| 国产精品久久二区二区| 国产成人精品免费一区二区| 国产亚洲视频系列| 国产xxx精品视频大全| 久久蜜桃av一区二区天堂| 九色综合国产一区二区三区| 日韩欧美中文一区| 国模大尺度一区二区三区| 欧美精品一区二区蜜臀亚洲| 国产一区二区三区四区五区入口 | 1024国产精品| 91视视频在线直接观看在线看网页在线看| 日韩欧美视频在线| 麻豆成人免费电影| 精品蜜桃在线看| 国产高清精品久久久久| 国产亚洲视频系列| 成人黄色免费短视频| 亚洲精品伦理在线| 欧美日本一区二区在线观看| 蜜桃一区二区三区在线观看| 欧美电影免费观看高清完整版在 | 国产一区二区在线看| 亚洲精品久久嫩草网站秘色| 欧美视频三区在线播放| 另类调教123区| 久久精品无码一区二区三区| 99国产欧美另类久久久精品| 亚洲综合色噜噜狠狠| 日韩欧美在线一区二区三区| 国产.精品.日韩.另类.中文.在线.播放| 国产精品久久影院| 欧美日韩国产首页| 国产精品白丝av| 曰韩精品一区二区| xnxx国产精品| 欧美伊人久久大香线蕉综合69 | 国产在线精品视频| 综合久久综合久久| 欧美一区二区三区免费视频| 国产精品1024久久| 亚洲永久精品大片| 国产欧美日韩在线| 欧美一区二区在线免费观看| 99久久精品国产一区二区三区| 丝袜诱惑制服诱惑色一区在线观看 | 亚洲精品一区二区三区精华液 | 日韩一区二区三区电影在线观看| 国产成人a级片| 天堂资源在线中文精品| 国产精品视频一二| 日韩欧美一区中文| 91麻豆国产福利在线观看| 久久精品免费看| 亚洲6080在线| 亚洲免费观看高清| 26uuu精品一区二区三区四区在线| 在线精品国精品国产尤物884a| 国产激情一区二区三区四区| 秋霞电影一区二区| 亚洲国产欧美日韩另类综合| 国产精品二区一区二区aⅴ污介绍| 日韩欧美123| 在线播放一区二区三区| 色偷偷一区二区三区| 丁香五精品蜜臀久久久久99网站| 免费人成黄页网站在线一区二区| 久久成人免费网站| 天天亚洲美女在线视频| 玉米视频成人免费看| 亚洲日本在线天堂| 国产精品第一页第二页第三页| 欧美一区二区三区精品| 欧美艳星brazzers| 在线视频欧美精品| 91国偷自产一区二区开放时间| 99在线精品观看| 91日韩一区二区三区| 99久久99久久综合| av激情亚洲男人天堂| 91同城在线观看| 日本道免费精品一区二区三区| 91视频免费播放| 99re成人精品视频| 色婷婷精品久久二区二区蜜臀av| 色综合视频在线观看| 91视频观看视频| 欧美视频日韩视频在线观看| 欧美日韩国产小视频| 欧美一区二区三区啪啪| 欧美一级夜夜爽| 精品国产污污免费网站入口 | 日韩欧美高清一区| 精品久久久久久久人人人人传媒| 精品黑人一区二区三区久久| 精品少妇一区二区三区日产乱码| www亚洲一区| 成人欧美一区二区三区| 亚洲精品国产精华液| 日韩高清一区二区| 国产一区在线观看视频| 成人av午夜电影| 欧美在线|欧美| 欧美成人乱码一区二区三区| 亚洲国产精品传媒在线观看| 日韩伦理电影网| 日韩二区在线观看| 高清日韩电视剧大全免费| 色综合 综合色| 欧美一级日韩不卡播放免费| 精品国产麻豆免费人成网站| 国产精品美女久久久久av爽李琼| 亚洲黄色小视频| 极品少妇一区二区| 色婷婷综合久久久久中文一区二区 | 亚洲欧洲性图库| 五月天精品一区二区三区| 国产真实精品久久二三区| 色婷婷精品久久二区二区蜜臂av| 欧美人牲a欧美精品| 中文字幕欧美激情| 日韩影院在线观看| 成人福利视频在线| 在线成人午夜影院| 综合在线观看色| 久久99国产精品久久| 欧美性色黄大片| 国产精品国产自产拍高清av | 亚洲综合视频在线| 国产高清不卡一区| 日韩视频中午一区|