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

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

?? os_core.lst

?? uCOS 嵌入式操作系統的改進版,增加了網絡通訊.
?? LST
?? 第 1 頁 / 共 5 頁
字號:
 436          void  OSIntEnter (void) reentrant //using 0
 437          {
 438   1          if (OSRunning == TRUE) {
 439   2              if (OSIntNesting < 255u) {
 440   3                  OSIntNesting++;                      /* Increment ISR nesting level                        */
 441   3              }
 442   2          }
 443   1      }
 444          /*$PAGE*/
 445          /*
 446          *********************************************************************************************************
 447          *                                               EXIT ISR
 448          *
 449          * Description: This function is used to notify uC/OS-II that you have completed serviving an ISR.  When
 450          *              the last nested ISR has completed, uC/OS-II will call the scheduler to determine whether
 451          *              a new, high-priority task, is ready to run.
 452          *
 453          * Arguments  : none
 454          *
 455          * Returns    : none
 456          *
 457          * Notes      : 1) You MUST invoke OSIntEnter() and OSIntExit() in pair.  In other words, for every call
 458          *                 to OSIntEnter() at the beginning of the ISR you MUST have a call to OSIntExit() at the
 459          *                 end of the ISR.
 460          *              2) Rescheduling is prevented when the scheduler is locked (see OS_SchedLock())
 461          *********************************************************************************************************
 462          */
 463          
 464          void  OSIntExit (void) reentrant //using 0
 465          {
 466   1      #if OS_CRITICAL_METHOD == 3                                /* Allocate storage for CPU status register */
 467   1          OS_CPU_SR  cpu_sr;
 468   1      #endif
 469   1          
 470   1          
 471   1          if (OSRunning == TRUE) {
 472   2              OS_ENTER_CRITICAL();
 473   2              if (OSIntNesting > 0) {                            /* Prevent OSIntNesting from wrapping       */
 474   3                  OSIntNesting--;
 475   3              }
 476   2              if (OSIntNesting == 0) {                           /* Reschedule only if all ISRs complete ... */
 477   3                  if (OSLockNesting == 0) {                      /* ... and not locked.                      */
C51 COMPILER V7.06   OS_CORE                                                               07/18/2003 11:05:56 PAGE 9   

 478   4                      OSIntExitY    = OSUnMapTbl[OSRdyGrp];          
 479   4                      OSPrioHighRdy = (INT8U)((OSIntExitY << 3) + OSUnMapTbl[OSRdyTbl[OSIntExitY]]);
 480   4                      if (OSPrioHighRdy != OSPrioCur) {          /* No Ctx Sw if current task is highest rdy */
 481   5                          OSTCBHighRdy  = OSTCBPrioTbl[OSPrioHighRdy];
 482   5      #if OS_TASK_PROFILE_EN > 0
 483   5                          OSTCBHighRdy->OSTCBCtxSwCtr++;         /* Inc. # of context switches to this task  */
 484   5      #endif
 485   5                          OSCtxSwCtr++;                          /* Keep track of the number of ctx switches */
 486   5                          OSIntCtxSw();                          /* Perform interrupt level ctx switch       */
 487   5                      }
 488   4                  }
 489   3              }
 490   2              OS_EXIT_CRITICAL();
 491   2          }
 492   1      }
 493          /*$PAGE*/
 494          /*
 495          *********************************************************************************************************
 496          *                                          PREVENT SCHEDULING
 497          *
 498          * Description: This function is used to prevent rescheduling to take place.  This allows your application
 499          *              to prevent context switches until you are ready to permit context switching.
 500          *
 501          * Arguments  : none
 502          *
 503          * Returns    : none
 504          *
 505          * Notes      : 1) You MUST invoke OSSchedLock() and OSSchedUnlock() in pair.  In other words, for every
 506          *                 call to OSSchedLock() you MUST have a call to OSSchedUnlock().
 507          *********************************************************************************************************
 508          */
 509          
 510          #if OS_SCHED_LOCK_EN > 0
 511          void  OSSchedLock (void) reentrant //using 0
 512          {
 513   1      #if OS_CRITICAL_METHOD == 3                      /* Allocate storage for CPU status register           */
 514   1          OS_CPU_SR  cpu_sr;
 515   1      #endif    
 516   1          
 517   1          
 518   1          if (OSRunning == TRUE) {                     /* Make sure multitasking is running                  */
 519   2              OS_ENTER_CRITICAL();
 520   2              if (OSLockNesting < 255u) {              /* Prevent OSLockNesting from wrapping back to 0      */
 521   3                  OSLockNesting++;                     /* Increment lock nesting level                       */
 522   3              }
 523   2              OS_EXIT_CRITICAL();
 524   2          }
 525   1      }
 526          #endif    
 527          
 528          /*$PAGE*/
 529          /*
 530          *********************************************************************************************************
 531          *                                          ENABLE SCHEDULING
 532          *
 533          * Description: This function is used to re-allow rescheduling.
 534          *
 535          * Arguments  : none
 536          *
 537          * Returns    : none
 538          *
 539          * Notes      : 1) You MUST invoke OSSchedLock() and OSSchedUnlock() in pair.  In other words, for every
C51 COMPILER V7.06   OS_CORE                                                               07/18/2003 11:05:56 PAGE 10  

 540          *                 call to OSSchedLock() you MUST have a call to OSSchedUnlock().
 541          *********************************************************************************************************
 542          */
 543          
 544          #if OS_SCHED_LOCK_EN > 0
 545          void  OSSchedUnlock (void) reentrant //using 0
 546          {
 547   1      #if OS_CRITICAL_METHOD == 3                                /* Allocate storage for CPU status register */
 548   1          OS_CPU_SR  cpu_sr;
 549   1      #endif    
 550   1          
 551   1          
 552   1          if (OSRunning == TRUE) {                                   /* Make sure multitasking is running    */
 553   2              OS_ENTER_CRITICAL();
 554   2              if (OSLockNesting > 0) {                               /* Do not decrement if already 0        */
 555   3                  OSLockNesting--;                                   /* Decrement lock nesting level         */
 556   3                  if (OSLockNesting == 0) {                          /* See if scheduler is enabled and ...  */
 557   4                      if (OSIntNesting == 0) {                       /* ... not in an ISR                    */
 558   5                          OS_EXIT_CRITICAL();
 559   5                          OS_Sched();                                /* See if a HPT is ready                */
 560   5                      } else {
 561   5                          OS_EXIT_CRITICAL();
 562   5                      }
 563   4                  } else {
 564   4                      OS_EXIT_CRITICAL();
 565   4                  }
 566   3              } else {
 567   3                  OS_EXIT_CRITICAL();
 568   3              }
 569   2          }
 570   1      }
 571          #endif    
 572          
 573          /*$PAGE*/
 574          /*
 575          *********************************************************************************************************
 576          *                                          START MULTITASKING
 577          *
 578          * Description: This function is used to start the multitasking process which lets uC/OS-II manages the
 579          *              task that you have created.  Before you can call OSStart(), you MUST have called OSInit()
 580          *              and you MUST have created at least one task.
 581          *
 582          * Arguments  : none
 583          *
 584          * Returns    : none
 585          *
 586          * Note       : OSStartHighRdy() MUST:
 587          *                 a) Call OSTaskSwHook() then,
 588          *                 b) Set OSRunning to TRUE.
 589          *                 c) Load the context of the task pointed to by OSTCBHighRdy.
 590          *                 d_ Execute the task.
 591          *********************************************************************************************************
 592          */
 593          
 594          void  OSStart (void) reentrant //using 0
 595          {
 596   1          INT8U y;
 597   1          INT8U x;
 598   1      
 599   1      
 600   1          if (OSRunning == FALSE) {
 601   2              y             = OSUnMapTbl[OSRdyGrp];        /* Find highest priority's task priority number   */
C51 COMPILER V7.06   OS_CORE                                                               07/18/2003 11:05:56 PAGE 11  

 602   2              x             = OSUnMapTbl[OSRdyTbl[y]];
 603   2              OSPrioHighRdy = (INT8U)((y << 3) + x);
 604   2              OSPrioCur     = OSPrioHighRdy;
 605   2              OSTCBHighRdy  = OSTCBPrioTbl[OSPrioHighRdy]; /* Point to highest priority task ready to run    */
 606   2              OSTCBCur      = OSTCBHighRdy;
 607   2              OSStartHighRdy();                            /* Execute target specific code to start task     */
 608   2          }
 609   1      }
 610          /*$PAGE*/
 611          /*
 612          *********************************************************************************************************
 613          *                                        STATISTICS INITIALIZATION
 614          *
 615          * Description: This function is called by your application to establish CPU usage by first determining
 616          *              how high a 32-bit counter would count to in 1 second if no other tasks were to execute
 617          *              during that time.  CPU usage is then determined by a low priority task which keeps track
 618          *              of this 32-bit counter every second but this time, with other tasks running.  CPU usage is
 619          *              determined by:
 620          *
 621          *                                             OSIdleCtr
 622          *                 CPU Usage (%) = 100 * (1 - ------------)
 623          *                                            OSIdleCtrMax
 624          *
 625          * Arguments  : none
 626          *
 627          * Returns    : none
 628          *********************************************************************************************************
 629          */
 630          
 631          #if OS_TASK_STAT_EN > 0
              void  OSStatInit (void) reentrant //using 0
              {
              #if OS_CRITICAL_METHOD == 3                      /* Allocate storage for CPU status register           */
                  OS_CPU_SR  cpu_sr;
              #endif    
                  
                  
                  OSTimeDly(2);                                /* Synchronize with clock tick                        */
                  OS_ENTER_CRITICAL();
                  OSIdleCtr    = 0L;                           /* Clear idle counter                                 */
                  OS_EXIT_CRITICAL();
                  OSTimeDly(OS_TICKS_PER_SEC);                 /* Determine MAX. idle counter value for 1 second     */
                  OS_ENTER_CRITICAL();
                  OSIdleCtrMax = OSIdleCtr;                    /* Store maximum idle counter count in 1 second       */
                  OSStatRdy    = TRUE;
                  OS_EXIT_CRITICAL();
              }
              #endif
 650          /*$PAGE*/
 651          /*
 652          *********************************************************************************************************
 653          *                                         PROCESS SYSTEM TICK
 654          *
 655          * Description: This function is used to signal to uC/OS-II the occurrence of a 'system tick' (also known
 656          *              as a 'clock tick').  This function should be called by the ticker ISR but, can also be
 657          *              called by a high priority task.
 658          *
 659          * Arguments  : none
 660          *
 661          * Returns    : none
 662          *********************************************************************************************************
 663          */
C51 COMPILER V7.06   OS_CORE                                                               07/18/2003 11:05:56 PAGE 12  

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
中文子幕无线码一区tr| 国产91精品一区二区| 激情五月婷婷综合| 91久久精品一区二区三| 欧美一级欧美三级在线观看| 国产精品蜜臀在线观看| 美国毛片一区二区| 欧美性生活影院| 国产日韩欧美激情| 人人超碰91尤物精品国产| 99re视频精品| 国产精品婷婷午夜在线观看| 美女网站色91| 5566中文字幕一区二区电影 | 成人app软件下载大全免费| 7777精品伊人久久久大香线蕉的 | 337p粉嫩大胆色噜噜噜噜亚洲| 一区二区三区高清在线| 国产白丝网站精品污在线入口| 日韩一区二区免费在线电影| 亚洲国产视频一区| 色猫猫国产区一区二在线视频| 日本一区二区成人| 国产福利一区二区三区视频在线| 精品美女被调教视频大全网站| 性做久久久久久免费观看欧美| 日本久久一区二区| 中文字幕一区二区在线播放| 不卡免费追剧大全电视剧网站| 国产日韩一级二级三级| 国产成人免费在线| 国产人伦精品一区二区| 国产精品亚洲一区二区三区在线 | 久久97超碰色| 欧美精品一区二区三区在线播放| 奇米精品一区二区三区在线观看一| 在线播放中文字幕一区| 天天亚洲美女在线视频| 91精品国产麻豆| 精品中文字幕一区二区| 精品国产免费一区二区三区香蕉| 美日韩一级片在线观看| 精品国产乱子伦一区| 国产精品一二二区| 中文欧美字幕免费| 色狠狠色噜噜噜综合网| 亚洲国产精品久久不卡毛片| 91精品国产欧美一区二区| 美国欧美日韩国产在线播放| 久久精品欧美日韩| jiyouzz国产精品久久| 亚洲最色的网站| 555夜色666亚洲国产免| 黄一区二区三区| 国产精品成人免费| 欧美老女人第四色| 久久99深爱久久99精品| 欧美国产欧美亚州国产日韩mv天天看完整| 岛国精品在线观看| 亚洲一区二区在线免费看| 欧美丰满一区二区免费视频| 国产一区二区三区不卡在线观看 | 国产激情一区二区三区| 国产精品国产自产拍在线| 欧美午夜精品久久久久久超碰| 久久精品免费看| 中文字幕中文字幕一区| 欧美精品在线观看播放| 国产一区二区免费视频| 亚洲一区av在线| 久久伊人中文字幕| 91精彩视频在线| 国产一区二区免费看| 亚洲主播在线播放| 欧美精品一区二区三区高清aⅴ| av一区二区三区黑人| 日韩av一区二| 亚洲日本青草视频在线怡红院| 9191久久久久久久久久久| 国产suv精品一区二区883| 天堂蜜桃91精品| 成人欧美一区二区三区小说| 欧美电视剧在线看免费| 在线视频国内一区二区| 国产不卡高清在线观看视频| 日产国产高清一区二区三区| 亚洲精品自拍动漫在线| 国产日韩av一区二区| 欧美成人bangbros| 欧美日韩国产一级二级| 91天堂素人约啪| 成人av电影在线播放| 国产一区二区三区不卡在线观看| 亚洲r级在线视频| 亚洲欧美另类小说视频| 日本一二三不卡| 久久一区二区三区四区| 日韩美女视频一区二区在线观看| 欧美在线视频你懂得| 91一区在线观看| 成人动漫一区二区在线| 国产成人免费网站| 国产精品中文字幕一区二区三区| 免费看精品久久片| 天堂蜜桃一区二区三区| 午夜精品123| 首页国产丝袜综合| 午夜精品久久久久久久99水蜜桃| 亚洲色图第一区| 综合欧美一区二区三区| 国产精品福利在线播放| 中文成人av在线| 国产精品久久久久久久岛一牛影视 | 成人av免费在线观看| 国产成人av一区| 成人黄色777网| a美女胸又www黄视频久久| 成人黄色软件下载| 成人精品鲁一区一区二区| 成人丝袜视频网| 97久久超碰精品国产| 一本大道综合伊人精品热热| 91黄色免费网站| 欧美日韩国产另类一区| 欧美高清视频不卡网| 欧美电影免费观看高清完整版| 亚洲精品一区二区精华| 国产欧美视频一区二区三区| 中文字幕免费观看一区| 日韩一区中文字幕| 亚洲午夜久久久久久久久电影网| 五月婷婷欧美视频| 久久国产欧美日韩精品| 国产成人精品一区二| 成人av免费在线| 欧美日韩综合色| 精品免费国产一区二区三区四区| 国产亚洲欧美日韩俺去了| 亚洲丝袜自拍清纯另类| 亚洲bt欧美bt精品| 另类欧美日韩国产在线| 成人性色生活片| 欧美日韩国产在线观看| 精品国产凹凸成av人网站| 国产精品免费人成网站| 一区二区三区免费网站| 精品一区二区三区免费视频| 99视频国产精品| 日韩一区二区影院| 国产精品短视频| 青青草一区二区三区| eeuss鲁片一区二区三区在线看| 欧美日韩精品是欧美日韩精品| 久久午夜羞羞影院免费观看| 亚洲美女视频在线观看| 狠狠色丁香久久婷婷综| 一本色道a无线码一区v| 欧美一级夜夜爽| 亚洲视频小说图片| 免费三级欧美电影| 99精品桃花视频在线观看| 日韩精品一区二区三区在线观看| 中文字幕一区二区三区精华液| 轻轻草成人在线| 色噜噜狠狠成人网p站| 久久久国际精品| 日韩精品亚洲一区二区三区免费| www.一区二区| 久久色.com| 视频一区二区三区中文字幕| 9i在线看片成人免费| 精品久久久久久久久久久久包黑料| 一区二区三区在线播| 丁香亚洲综合激情啪啪综合| 91精品国产日韩91久久久久久| 一区二区三区四区高清精品免费观看| 激情丁香综合五月| 欧美精品777| 一区二区三区蜜桃| 成人国产亚洲欧美成人综合网| 精品国产3级a| 毛片av一区二区| 欧美一区二区性放荡片| 亚洲一级片在线观看| 色综合中文字幕国产 | 91久久精品一区二区三| 国产精品视频你懂的| 国产麻豆成人传媒免费观看| 日韩视频免费观看高清完整版在线观看| 亚洲久本草在线中文字幕| av资源网一区| 国产精品―色哟哟| 成人激情免费网站| 国产精品色一区二区三区| 国产成人综合视频| 久久久久久亚洲综合| 国产毛片精品视频| 欧美精品一区二区高清在线观看| 美女被吸乳得到大胸91| 日韩欧美国产wwwww|