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

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專(zhuān)輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? os_task.lst

?? 運(yùn)行環(huán)境是keil。這是一個(gè)實(shí)現(xiàn)嵌入式TCP/IP的程序
?? LST
?? 第 1 頁(yè) / 共 4 頁(yè)
字號(hào):
C51 COMPILER V6.12  OS_TASK                                                                04/12/2004 19:13:38 PAGE 10  

 549   4                      OS_EXIT_CRITICAL();
 550   4                  }
 551   3                  return (OS_NO_ERR);
 552   3              } else {
 553   3                  OS_EXIT_CRITICAL();
 554   3                  return (OS_TASK_NOT_SUSPENDED);
 555   3              }
 556   2          }
 557   1      }
 558          #endif
 559          /*$PAGE*/
 560          /*
 561          *********************************************************************************************************
 562          *                                             STACK CHECKING
 563          *
 564          * Description: This function is called to check the amount of free memory left on the specified task's
 565          *              stack.
 566          *
 567          * Arguments  : prio     is the task priority
 568          *
 569          *              pdata    is a pointer to a data structure of type OS_STK_DATA.
 570          *
 571          * Returns    : OS_NO_ERR           upon success
 572          *              OS_PRIO_INVALID     if the priority you specify is higher that the maximum allowed
 573          *                                  (i.e. > OS_LOWEST_PRIO) or, you have not specified OS_PRIO_SELF.
 574          *              OS_TASK_NOT_EXIST   if the desired task has not been created
 575          *              OS_TASK_OPT_ERR     if you did NOT specified OS_TASK_OPT_STK_CHK when the task was created
 576          *********************************************************************************************************
 577          */
 578          #if   OS_TASK_CREATE_EXT_EN
              INT8U OSTaskStkChk (INT8U prio, OS_STK_DATA *ppdata) reentrant
              {
                  OS_TCB  *ptcb;
                  OS_STK  *pchk;
                  INT32U   free;
                  INT32U   size;
              
              
                  ppdata->OSFree = 0;                                          /* Assume failure, set to 0 size       */
                  ppdata->OSUsed = 0;
                  if (prio > OS_LOWEST_PRIO && prio != OS_PRIO_SELF) {        /* Make sure task priority is valid    */
                      return (OS_PRIO_INVALID);
                  }
                  OS_ENTER_CRITICAL();
                  if (prio == OS_PRIO_SELF) {                        /* See if check for SELF                        */
                      prio = OSTCBCur->OSTCBPrio;
                  }
                  ptcb = OSTCBPrioTbl[prio];
                  if (ptcb == (OS_TCB *)0) {                         /* Make sure task exist                         */
                      OS_EXIT_CRITICAL();
                      return (OS_TASK_NOT_EXIST);
                  }
                  if ((ptcb->OSTCBOpt & OS_TASK_OPT_STK_CHK) == 0) { /* Make sure stack checking option is set       */
                      OS_EXIT_CRITICAL();
                      return (OS_TASK_OPT_ERR);
                  }
                  free = 0;
                  size = ptcb->OSTCBStkSize;
                  pchk = ptcb->OSTCBStkBottom;
                  OS_EXIT_CRITICAL();
              #if OS_STK_GROWTH == 1
                  while (*pchk++ == 0) {                            /* Compute the number of zero entries on the stk */
C51 COMPILER V6.12  OS_TASK                                                                04/12/2004 19:13:38 PAGE 11  

                      free++;
                  }
              #else
                  while (*pchk-- == 0) {
                      free++;
                  }
              #endif
                  ppdata->OSFree = free * sizeof(OS_STK);            /* Compute number of free bytes on the stack     */
                  ppdata->OSUsed = (size - free) * sizeof(OS_STK);   /* Compute number of bytes used on the stack     */
                  return (OS_NO_ERR);
              }
              #endif
 623          /*$PAGE*/
 624          /*
 625          *********************************************************************************************************
 626          *                                            SUSPEND A TASK
 627          *
 628          * Description: This function is called to suspend a task.  The task can be the calling task if the
 629          *              priority passed to OSTaskSuspend() is the priority of the calling task or OS_PRIO_SELF.
 630          *
 631          * Arguments  : prio     is the priority of the task to suspend.  If you specify OS_PRIO_SELF, the
 632          *                       calling task will suspend itself and rescheduling will occur.
 633          *
 634          * Returns    : OS_NO_ERR                if the requested task is suspended
 635          *              OS_TASK_SUSPEND_IDLE     if you attempted to suspend the idle task which is not allowed.
 636          *              OS_PRIO_INVALID          if the priority you specify is higher that the maximum allowed
 637          *                                       (i.e. >= OS_LOWEST_PRIO) or, you have not specified OS_PRIO_SELF.
 638          *              OS_TASK_SUSPEND_PRIO     if the task to suspend does not exist
 639          *
 640          * Note       : You should use this function with great care.  If you suspend a task that is waiting for
 641          *              an event (i.e. a message, a semaphore, a queue ...) you will prevent this task from
 642          *              running when the event arrives.
 643          *********************************************************************************************************
 644          */
 645          
 646          #if OS_TASK_SUSPEND_EN
 647          INT8U OSTaskSuspend (INT8U prio) reentrant
 648          {
 649   1          BOOLEAN   self;
 650   1          OS_TCB   *ptcb;
 651   1      
 652   1      
 653   1          if (prio == OS_IDLE_PRIO) {                                 /* Not allowed to suspend idle task    */
 654   2              return (OS_TASK_SUSPEND_IDLE);
 655   2          }
 656   1          if (prio >= OS_LOWEST_PRIO && prio != OS_PRIO_SELF) {       /* Task priority valid ?               */
 657   2              return (OS_PRIO_INVALID);
 658   2          }
 659   1          OS_ENTER_CRITICAL();
 660   1          if (prio == OS_PRIO_SELF) {                                 /* See if suspend SELF                 */
 661   2              prio = OSTCBCur->OSTCBPrio;
 662   2              self = TRUE;
 663   2          } else if (prio == OSTCBCur->OSTCBPrio) {                   /* See if suspending self              */
 664   2              self = TRUE;
 665   2          } else {
 666   2              self = FALSE;                                           /* No suspending another task          */
 667   2          }
 668   1          if ((ptcb = OSTCBPrioTbl[prio]) == (OS_TCB *)0) {                /* Task to suspend must exist     */
 669   2              OS_EXIT_CRITICAL();
 670   2              return (OS_TASK_SUSPEND_PRIO);
 671   2          } else {
 672   2              if ((OSRdyTbl[ptcb->OSTCBY] &= ~ptcb->OSTCBBitX) == 0) {     /* Make task not ready            */
C51 COMPILER V6.12  OS_TASK                                                                04/12/2004 19:13:38 PAGE 12  

 673   3                  OSRdyGrp &= ~ptcb->OSTCBBitY;
 674   3              }
 675   2              ptcb->OSTCBStat |= OS_STAT_SUSPEND;                          /* Status of task is 'SUSPENDED'  */
 676   2              OS_EXIT_CRITICAL();
 677   2              if (self == TRUE) {                                          /* Context switch only if SELF    */
 678   3                  OSSched();
 679   3              }
 680   2              return (OS_NO_ERR);
 681   2          }
 682   1      }
 683          #endif
 684          /*$PAGE*/
 685          /*
 686          *********************************************************************************************************
 687          *                                            QUERY A TASK
 688          *
 689          * Description: This function is called to obtain a copy of the desired task's TCB.
 690          *
 691          * Arguments  : prio     is the priority of the task to obtain information from.
 692          *
 693          * Returns    : OS_NO_ERR       if the requested task is suspended
 694          *              OS_PRIO_INVALID if the priority you specify is higher that the maximum allowed
 695          *                              (i.e. > OS_LOWEST_PRIO) or, you have not specified OS_PRIO_SELF.
 696          *              OS_PRIO_ERR     if the desired task has not been created
 697          *********************************************************************************************************
 698          */
 699          
 700          INT8U OSTaskQuery (INT8U prio, OS_TCB *ppdata) reentrant
 701          {
 702   1          OS_TCB *ptcb;
 703   1      
 704   1      
 705   1          if (prio > OS_LOWEST_PRIO && prio != OS_PRIO_SELF) {   /* Task priority valid ?                    */
 706   2              return (OS_PRIO_INVALID);
 707   2          }
 708   1          OS_ENTER_CRITICAL();
 709   1          if (prio == OS_PRIO_SELF) {                            /* See if suspend SELF                      */
 710   2              prio = OSTCBCur->OSTCBPrio;
 711   2          }
 712   1          if ((ptcb = OSTCBPrioTbl[prio]) == (OS_TCB *)0) {      /* Task to query must exist                 */
 713   2              OS_EXIT_CRITICAL();
 714   2              return (OS_PRIO_ERR);
 715   2          }
 716   1          *ppdata = *ptcb;                                        /* Copy TCB into user storage area          */
 717   1          OS_EXIT_CRITICAL();
 718   1          return (OS_NO_ERR);
 719   1      }


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =   2046    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =   ----    ----
   IDATA SIZE       =   ----    ----
   BIT SIZE         =   ----    ----
END OF MODULE INFORMATION.


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

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久精品亚洲麻豆av一区二区| 欧美日韩国产系列| 亚洲成人高清在线| 国产欧美久久久精品影院| 欧美日韩一本到| 国产91露脸合集magnet| 视频在线观看91| 亚洲欧美偷拍另类a∨色屁股| 精品福利一二区| 欧美日韩一区二区三区在线| 成人高清视频在线| 国产精品66部| 六月婷婷色综合| 日韩一区精品视频| 一区二区三区日韩欧美| 国产精品乱人伦| 久久嫩草精品久久久久| 日韩亚洲欧美在线| 欧美日韩美女一区二区| 色综合夜色一区| 成人av网站免费| 国产精品66部| 国产成人在线视频网址| 国产综合久久久久影院| 日本午夜精品一区二区三区电影 | 国产婷婷色一区二区三区| 日韩欧美中文字幕精品| 欧美日韩成人一区| 在线视频欧美精品| 日本丶国产丶欧美色综合| youjizz久久| 成人av在线一区二区三区| 国产精品1区二区.| 国产一区二区精品久久91| 精品一区二区国语对白| 六月丁香综合在线视频| 激情综合网最新| 激情综合色播五月| 国产在线看一区| 97se亚洲国产综合自在线| 99久久精品情趣| 一本大道久久精品懂色aⅴ | 2欧美一区二区三区在线观看视频| 在线综合亚洲欧美在线视频| 91麻豆精品国产自产在线观看一区| 欧美日韩精品一区二区三区四区| 欧美精品在线观看一区二区| 欧美片在线播放| 欧美一区二区三区播放老司机| 日韩一二在线观看| 欧美mv日韩mv国产网站app| 欧美精品一区二区三区高清aⅴ| 日韩免费一区二区| 久久久av毛片精品| 国产精品妹子av| 一区二区成人在线| 天天综合日日夜夜精品| 美女任你摸久久| 激情久久五月天| av高清久久久| 欧美色综合久久| 欧美mv日韩mv亚洲| 国产精品美女久久久久久| 亚洲男人的天堂av| 日韩国产精品大片| 国产老肥熟一区二区三区| av成人老司机| 欧美亚洲国产一区在线观看网站| 欧美巨大另类极品videosbest| 精品日本一线二线三线不卡 | 强制捆绑调教一区二区| 国产精品一区免费视频| 91久久人澡人人添人人爽欧美| 91麻豆精品国产自产在线观看一区| 精品国产91亚洲一区二区三区婷婷| 一区在线观看免费| 日韩高清电影一区| 成人va在线观看| 欧美浪妇xxxx高跟鞋交| 中文字幕 久热精品 视频在线| 亚洲一区在线视频| 国内精品嫩模私拍在线| 色天使色偷偷av一区二区| 欧美一级高清大全免费观看| 国产精品美女久久福利网站| 亚洲va欧美va国产va天堂影院| 国产福利一区二区三区视频在线| 一本大道av一区二区在线播放| 日韩一区二区免费高清| 亚洲欧洲日韩在线| 精品写真视频在线观看| 欧美三级三级三级| 欧美经典一区二区| 美女尤物国产一区| 在线免费观看日韩欧美| 国产亚洲精品超碰| 日本一道高清亚洲日美韩| 91视视频在线观看入口直接观看www | 9191国产精品| 亚洲色图视频网| 国产在线精品一区二区| 欧美日韩成人在线| 亚洲欧美成aⅴ人在线观看| 国产乱码精品一区二区三区av | 亚洲综合视频在线观看| 国产精品一二三区在线| 555夜色666亚洲国产免| 亚洲人成在线观看一区二区| 国产一区二区电影| 日韩一级大片在线| 天天操天天干天天综合网| 91啪九色porn原创视频在线观看| 欧美精品一区二区高清在线观看| 亚洲国产精品精华液网站| 91女人视频在线观看| 久久精品在这里| 久久精品国产一区二区三| 欧美欧美欧美欧美| 亚洲综合一区二区精品导航| 不卡一区中文字幕| 国产日韩欧美制服另类| 精品在线播放午夜| 欧美一区二区人人喊爽| 午夜精彩视频在线观看不卡| 欧洲一区在线电影| 亚洲精品高清在线| 日本久久电影网| 亚洲欧洲精品一区二区三区| 成人教育av在线| 国产精品久久久久久亚洲伦| 国产成人久久精品77777最新版本 国产成人鲁色资源国产91色综 | 成人v精品蜜桃久久一区| 国产日本一区二区| 懂色av中文一区二区三区| 国产午夜亚洲精品午夜鲁丝片| 精品一区二区三区香蕉蜜桃 | 日韩电影在线一区二区| 欧美日韩国产中文| 亚洲国产精品一区二区久久| 欧美在线观看你懂的| 亚洲一区视频在线观看视频| 欧美在线小视频| 亚洲v日本v欧美v久久精品| 欧美日韩一区二区三区免费看| 亚洲国产中文字幕| 欧美一区二区美女| 国内精品国产三级国产a久久| 久久久av毛片精品| a美女胸又www黄视频久久| 亚洲女厕所小便bbb| 欧美日韩一区成人| 蜜桃视频一区二区| 久久久91精品国产一区二区精品| 成人深夜福利app| 亚洲婷婷综合色高清在线| 欧美在线你懂得| 老司机精品视频导航| 国产欧美一区二区在线| 一本在线高清不卡dvd| 亚洲成人一区二区在线观看| 精品久久久久久综合日本欧美| 国产精品1区2区3区| 国产精品久久免费看| 欧美亚洲综合色| 精品系列免费在线观看| 亚洲欧洲日韩在线| 91精品国产一区二区三区香蕉| 国产一区二区美女诱惑| 亚洲激情五月婷婷| 日韩午夜av一区| 成人小视频在线| 午夜精品福利久久久| 日本一区二区综合亚洲| 在线亚洲免费视频| 久久99久久久欧美国产| 中文字幕在线观看一区| 91精品蜜臀在线一区尤物| 国产一区二区精品在线观看| 一区二区三区日韩| 欧美精品一区二区三区蜜桃视频 | 《视频一区视频二区| 欧美区在线观看| 成人18精品视频| 日本不卡一区二区三区| 国产精品久久久久毛片软件| 日韩亚洲电影在线| 91香蕉视频mp4| 国产一区二区三区香蕉| 亚洲一区二区在线播放相泽| 久久综合久久综合久久| 欧美日韩在线三区| 成人精品国产福利| 精品亚洲成a人| 天堂久久久久va久久久久| 国产精品不卡一区二区三区| 日韩免费视频线观看| 欧美三级电影网| av成人老司机| 成人性生交大片免费看中文| 老司机一区二区|