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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? os_task.lst

?? keil下單片機(jī)C8051F020的源程序
?? LST
?? 第 1 頁 / 共 4 頁
字號(hào):
C51 COMPILER V7.50   OS_TASK                                                               12/12/2007 16:55:25 PAGE 1   


C51 COMPILER V7.50, COMPILATION OF MODULE OS_TASK
OBJECT MODULE PLACED IN OS_TASK.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE OS_TASK.C LARGE BROWSE INCDIR(F:\software\KEIL\;C:\keil\C51\) DEBUG OBJECTE
                    -XTEND

line level    source

   1          /*
   2          *********************************************************************************************************
   3          *                                                uC/OS-II
   4          *                                          The Real-Time Kernel
   5          *                                            TASK MANAGEMENT
   6          *
   7          *                        (c) Copyright 1992-1998, Jean J. Labrosse, Plantation, FL
   8          *                                           All Rights Reserved
   9          *
  10          *                                                  V2.00
  11          *
  12          * File : OS_TASK.C
  13          * By   : Jean J. Labrosse
  14          *********************************************************************************************************
  15          */
  16          
  17          #ifndef  OS_MASTER_FILE
  18          #include "includes.h"
  19          #endif
  20          
  21          /*
  22          *********************************************************************************************************
  23          *                                        LOCAL FUNCTION PROTOTYPES
  24          *********************************************************************************************************
  25          */
  26          
  27          
  28          static  void  OSDummy(void) reentrant;
  29          
  30          /*
  31          *********************************************************************************************************
  32          *                                            DUMMY FUNCTION
  33          *
  34          * Description: This function doesn't do anything.  It is called by OSTaskDel() to ensure that interrupts
  35          *              are disabled immediately after they are enabled.
  36          *
  37          * Arguments  : none
  38          *
  39          * Returns    : none
  40          *********************************************************************************************************
  41          */
  42          
  43          static void  OSDummy (void) reentrant
  44          {
  45   1      }
  46          
  47          /*$PAGE*/
  48          /*
  49          *********************************************************************************************************
  50          *                                        CHANGE PRIORITY OF A TASK
  51          *
  52          * Description: This function allows you to change the priority of a task dynamically.  Note that the new
  53          *              priority MUST be available.
  54          *
C51 COMPILER V7.50   OS_TASK                                                               12/12/2007 16:55:25 PAGE 2   

  55          * Arguments  : oldp     is the old priority
  56          *
  57          *              newp     is the new priority
  58          *
  59          * Returns    : OS_NO_ERR        is the call was successful
  60          *              OS_PRIO_INVALID  if the priority you specify is higher that the maximum allowed 
  61          *                               (i.e. >= OS_LOWEST_PRIO)
  62          *              OS_PRIO_EXIST    if the new priority already exist.
  63          *              OS_PRIO_ERR      there is no task with the specified OLD priority (i.e. the OLD task does
  64          *                               not exist.
  65          *********************************************************************************************************
  66          */
  67          
  68          #if OS_TASK_CHANGE_PRIO_EN
              INT8U OSTaskChangePrio (INT8U oldprio, INT8U newprio) reentrant
              {
                  OS_TCB   *ptcb;
                  OS_EVENT *pevent;
                  INT8U     x;
                  INT8U     y;
                  INT8U     bitx;
                  INT8U     bity;
              
              
                  if ((oldprio >= OS_LOWEST_PRIO && oldprio != OS_PRIO_SELF)  || 
                       newprio >= OS_LOWEST_PRIO) {
                      return (OS_PRIO_INVALID);
                  }
                  OS_ENTER_CRITICAL();
                  if (OSTCBPrioTbl[newprio] != (OS_TCB *)0) {                 /* New priority must not already exist */
                      OS_EXIT_CRITICAL();
                      return (OS_PRIO_EXIST);
                  } else {
                      OSTCBPrioTbl[newprio] = (OS_TCB *)1;                    /* Reserve the entry to prevent others */
                      OS_EXIT_CRITICAL();
                      y    = newprio >> 3;                                    /* Precompute to reduce INT. latency   */
                      bity = OSMapTbl[y];
                      x    = newprio & 0x07;
                      bitx = OSMapTbl[x];
                      OS_ENTER_CRITICAL();
                      if (oldprio == OS_PRIO_SELF) {                          /* See if changing self                */
                          oldprio = OSTCBCur->OSTCBPrio;                      /* Yes, get priority                   */
                      }
                      if ((ptcb = OSTCBPrioTbl[oldprio]) != (OS_TCB *)0) {    /* Task to change must exist           */
                          OSTCBPrioTbl[oldprio] = (OS_TCB *)0;                /* Remove TCB from old priority        */
                          if (OSRdyTbl[ptcb->OSTCBY] & ptcb->OSTCBBitX) {     /* If task is ready make it not ready  */
                              if ((OSRdyTbl[ptcb->OSTCBY] &= ~ptcb->OSTCBBitX) == 0) {
                                  OSRdyGrp &= ~ptcb->OSTCBBitY;
                              }
                              OSRdyGrp    |= bity;                            /* Make new priority ready to run      */
                              OSRdyTbl[y] |= bitx;
                          } else {
                              if ((pevent = ptcb->OSTCBEventPtr) != (OS_EVENT *)0) { /* Remove from event wait list  */
                                  if ((pevent->OSEventTbl[ptcb->OSTCBY] &= ~ptcb->OSTCBBitX) == 0) {
                                      pevent->OSEventGrp &= ~ptcb->OSTCBBitY;
                                  }
                                  pevent->OSEventGrp    |= bity;              /* Add new priority to wait list       */
                                  pevent->OSEventTbl[y] |= bitx;
                              }
                          }
                          OSTCBPrioTbl[newprio] = ptcb;                       /* Place pointer to TCB @ new priority */
                          ptcb->OSTCBPrio       = newprio;                    /* Set new task priority               */
C51 COMPILER V7.50   OS_TASK                                                               12/12/2007 16:55:25 PAGE 3   

                          ptcb->OSTCBY          = y;
                          ptcb->OSTCBX          = x;
                          ptcb->OSTCBBitY       = bity;
                          ptcb->OSTCBBitX       = bitx;
                          OS_EXIT_CRITICAL();
                          OSSched();                                          /* Run highest priority task ready     */
                          return (OS_NO_ERR);
                      } else {
                          OSTCBPrioTbl[newprio] = (OS_TCB *)0;                /* Release the reserved prio.          */
                          OS_EXIT_CRITICAL();
                          return (OS_PRIO_ERR);                               /* Task to change didn't exist         */
                      }
                  }
              }
              #endif
 132          /*$PAGE*/
 133          /*
 134          *********************************************************************************************************
 135          *                                            CREATE A TASK
 136          *
 137          * Description: This function is used to have uC/OS-II manage the execution of a task.  Tasks can either
 138          *              be created prior to the start of multitasking or by a running task.  A task cannot be
 139          *              created by an ISR.
 140          *
 141          * Arguments  : task     is a pointer to the task's code
 142          *
 143          *              pdata    is a pointer to an optional data area which can be used to pass parameters to
 144          *                       the task when the task first executes.  Where the task is concerned it thinks
 145          *                       it was invoked and passed the argument 'pdata' as follows:
 146          *
 147          *                           void Task (void *pdata)
 148          *                           {
 149          *                               for (;;) {
 150          *                                   Task code;
 151          *                               }
 152          *                           }
 153          *
 154          *              ptos     is a pointer to the task's top of stack.  If the configuration constant 
 155          *                       OS_STK_GROWTH is set to 1, the stack is assumed to grow downward (i.e. from high
 156          *                       memory to low memory).  'pstk' will thus point to the highest (valid) memory 
 157          *                       location of the stack.  If OS_STK_GROWTH is set to 0, 'pstk' will point to the 
 158          *                       lowest memory location of the stack and the stack will grow with increasing
 159          *                       memory locations.
 160          *
 161          *              prio     is the task's priority.  A unique priority MUST be assigned to each task and the
 162          *                       lower the number, the higher the priority.
 163          *
 164          * Returns    : OS_NO_ERR        if the function was successful.
 165          *              OS_PRIO_EXIT     if the task priority already exist 
 166          *                               (each task MUST have a unique priority).
 167          *              OS_PRIO_INVALID  if the priority you specify is higher that the maximum allowed 
 168          *                               (i.e. >= OS_LOWEST_PRIO)
 169          *********************************************************************************************************
 170          */
 171          
 172          #if OS_TASK_CREATE_EN
 173          INT8U OSTaskCreate (void (*task)(void *pd), void *ppdata, OS_STK *ptos, INT8U prio) reentrant
 174          {
 175   1          void   *psp;
 176   1          INT8U   err;
 177   1      
 178   1      

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日本不卡视频在线观看| 欧美日韩中文国产| 成人的网站免费观看| 色综合天天综合色综合av| 欧美日韩一区二区三区在线看| 欧美日韩国产欧美日美国产精品| 亚洲精品一区二区三区在线观看| 国产精品国产三级国产专播品爱网| 亚洲麻豆国产自偷在线| 青青青爽久久午夜综合久久午夜| 国产999精品久久| 欧美在线观看一区| 久久久久久麻豆| 亚洲国产成人91porn| 国产乱国产乱300精品| 91成人在线免费观看| 精品卡一卡二卡三卡四在线| 亚洲欧美怡红院| 麻豆精品一二三| 91亚洲资源网| 亚洲精品在线观| 亚洲成人免费视| 粉嫩av一区二区三区在线播放 | 精品国产精品网麻豆系列| 国产精品入口麻豆原神| 日韩不卡一区二区三区| 91免费版pro下载短视频| 日韩精品综合一本久道在线视频| 亚洲伦在线观看| 国产福利一区二区三区| 欧美精品在线一区二区| 中文字幕一区二区三区不卡| 美脚の诱脚舐め脚责91| 欧美色涩在线第一页| 国产精品三级在线观看| 免费精品99久久国产综合精品| 99久久久免费精品国产一区二区| 日韩一级黄色片| 亚洲影视在线观看| 不卡的av网站| 久久久久久亚洲综合影院红桃| 午夜视频在线观看一区| 91小视频在线免费看| 国产亚洲精品7777| 美女国产一区二区| 91精品国产一区二区三区香蕉| 一区二区三区日韩欧美精品| 国产91清纯白嫩初高中在线观看| 欧美xxxx在线观看| 亚洲成人动漫精品| 欧美性淫爽ww久久久久无| 国产精品护士白丝一区av| 国产精品一区久久久久| 欧美大胆一级视频| 日本va欧美va欧美va精品| 在线观看亚洲a| 亚洲色图欧美激情| 99久久亚洲一区二区三区青草| 久久久久国产精品厨房| 国产在线播放一区二区三区| 日韩一级片在线播放| 日韩精品电影一区亚洲| 欧美色视频一区| 亚洲www啪成人一区二区麻豆 | 春色校园综合激情亚洲| 精品国产成人在线影院| 麻豆成人免费电影| 欧美大片在线观看| 精品亚洲成a人在线观看| 日韩视频免费观看高清完整版| 午夜激情一区二区三区| 欧美精选一区二区| 免费视频一区二区| 精品久久久久一区| 国模娜娜一区二区三区| 久久在线观看免费| 国产精品18久久久久久久久| 久久久久国产精品麻豆ai换脸| 国产一区在线不卡| 久久青草国产手机看片福利盒子| 极品瑜伽女神91| 日韩欧美的一区| 国产精品自拍在线| 国产精品三级av在线播放| 成人av在线一区二区三区| 日本一区二区成人| 91热门视频在线观看| 亚洲国产日韩综合久久精品| 欧美日韩成人激情| 精品一区二区三区影院在线午夜| 精品1区2区在线观看| 福利91精品一区二区三区| 国产精品电影院| 91国产免费观看| 首页国产欧美日韩丝袜| 日韩欧美国产一区在线观看| 国内精品免费**视频| 中文一区一区三区高中清不卡| 成人av网址在线| 洋洋成人永久网站入口| 91精品国产综合久久久久久久 | 日韩亚洲欧美在线| 极品美女销魂一区二区三区| 国产日韩亚洲欧美综合| 99久久精品免费观看| 亚洲一区二区三区免费视频| 日韩欧美国产电影| 成人国产精品免费| 亚洲综合激情网| 欧美刺激脚交jootjob| 不卡区在线中文字幕| 亚洲综合无码一区二区| 日韩精品综合一本久道在线视频| 成人亚洲精品久久久久软件| 亚洲一区在线播放| 久久麻豆一区二区| 色狠狠av一区二区三区| 老司机午夜精品| 亚洲婷婷综合色高清在线| 欧美电影一区二区三区| 国产a区久久久| 日韩中文字幕区一区有砖一区| 国产亚洲一二三区| 欧美午夜不卡在线观看免费| 国产一级精品在线| 亚洲午夜久久久久久久久电影网| 精品美女在线观看| 91久久线看在观草草青青| 经典三级视频一区| 亚洲国产欧美日韩另类综合| 久久久久久麻豆| 这里只有精品视频在线观看| 国产v日产∨综合v精品视频| 天涯成人国产亚洲精品一区av| 国产嫩草影院久久久久| 欧美日韩不卡在线| 91视频在线看| 国产精品自在欧美一区| 日韩成人一级片| 一区二区三区国产| 中文在线一区二区| 亚洲精品在线三区| 欧美丰满少妇xxxxx高潮对白| zzijzzij亚洲日本少妇熟睡| 麻豆国产欧美一区二区三区| 亚洲大片在线观看| 亚洲欧洲成人自拍| 久久久久久亚洲综合影院红桃| 4438亚洲最大| 欧美亚洲另类激情小说| a美女胸又www黄视频久久| 狠狠色丁香久久婷婷综合丁香| 亚洲bt欧美bt精品777| 亚洲图片另类小说| 国产精品三级在线观看| 国产午夜精品一区二区| 日韩视频免费观看高清在线视频| 欧美无人高清视频在线观看| 91小宝寻花一区二区三区| 国产不卡一区视频| 国模少妇一区二区三区| 麻豆成人久久精品二区三区红| 午夜精品123| 性久久久久久久久久久久| 亚洲精品视频在线看| 中国av一区二区三区| 久久久久综合网| 久久久美女毛片| 26uuu色噜噜精品一区二区| 日韩欧美国产小视频| 欧美一区二区三级| 91精品在线麻豆| 欧美精品第一页| 欧美日韩亚洲高清一区二区| 欧美亚洲日本一区| 欧美日韩黄色影视| 欧美日韩在线观看一区二区| 欧美视频中文字幕| 欧美日韩一区二区三区免费看| 欧美在线综合视频| 在线观看日韩av先锋影音电影院| 91国偷自产一区二区三区成为亚洲经典| 91免费观看在线| 欧美性猛片xxxx免费看久爱| 色狠狠综合天天综合综合| 欧美性生活一区| 91精品国产一区二区三区蜜臀 | 国模冰冰炮一区二区| 国产麻豆视频精品| 国产成人精品免费视频网站| 懂色av噜噜一区二区三区av| 成人夜色视频网站在线观看| 99久久精品免费看国产免费软件| 91丨porny丨蝌蚪视频| 日本久久电影网| 欧美日韩精品高清| 日韩欧美国产系列| 国产欧美精品在线观看| 中文字幕一区在线| 亚洲一区影音先锋|