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

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

?? os_task.lst

?? uCOS 嵌入式操作系統的改進版,增加了網絡通訊.
?? LST
?? 第 1 頁 / 共 5 頁
字號:
 615          void  OSTaskNameSet (INT8U prio, char *pname, INT8U *err) reentrant //using 0
 616          {
 617   1      #if OS_CRITICAL_METHOD == 3                      /* Allocate storage for CPU status register           */
 618   1          OS_CPU_SR  cpu_sr;
 619   1      #endif
 620   1          INT8U      len;
 621   1          OS_TCB    *ptcb;
 622   1      
 623   1      
 624   1          OS_ENTER_CRITICAL();
 625   1      #if OS_ARG_CHK_EN > 0
 626   1          if (prio > OS_LOWEST_PRIO) {                 /* Task priority valid ?                              */
 627   2              if (prio != OS_PRIO_SELF) {              
 628   3                  *err = OS_PRIO_INVALID;              /* No                                                 */
 629   3                  return;
 630   3              }
 631   2          }
 632   1          if (pname == (char *)0) {                    /* Is 'pname' a NULL pointer?                         */
 633   2              OS_EXIT_CRITICAL();                      /* Yes                                                */
 634   2              *err = OS_ERR_PNAME_NULL;
 635   2              return;
 636   2          }
 637   1      #endif
 638   1          if (prio == OS_PRIO_SELF) {                  /* See if caller desires to set it's own name         */
 639   2              prio = OSTCBCur->OSTCBPrio;
 640   2          }
 641   1          ptcb = OSTCBPrioTbl[prio];
 642   1          if (ptcb == (OS_TCB *)0) {                   /* Does task exist?                                   */
 643   2              OS_EXIT_CRITICAL();                      /* No                                                 */
 644   2              *err = OS_TASK_NOT_EXIST;
 645   2              return;
 646   2          }
 647   1          len = strlen(pname);                         /* Yes, Can we fit the string in the TCB?             */
 648   1          if (len > (OS_TASK_NAME_SIZE - 1)) {         /*      No                                            */
 649   2              OS_EXIT_CRITICAL();
 650   2              *err = OS_ERR_TASK_NAME_TOO_LONG;
 651   2              return;
 652   2          } 
 653   1          (void)strcpy(ptcb->OSTCBTaskName, pname);    /*      Yes, copy to TCB                              */
 654   1          OS_EXIT_CRITICAL();
 655   1          *err = OS_NO_ERR;
 656   1      }
 657          #endif
 658          
 659          /*$PAGE*/
 660          /*
 661          *********************************************************************************************************
 662          *                                        RESUME A SUSPENDED TASK
 663          *
 664          * Description: This function is called to resume a previously suspended task.  This is the only call that
 665          *              will remove an explicit task suspension.
 666          *
 667          * Arguments  : prio     is the priority of the task to resume.
 668          *
 669          * Returns    : OS_NO_ERR                if the requested task is resumed
 670          *              OS_PRIO_INVALID          if the priority you specify is higher that the maximum allowed
 671          *                                       (i.e. >= OS_LOWEST_PRIO)
 672          *              OS_TASK_RESUME_PRIO      if the task to resume does not exist
 673          *              OS_TASK_NOT_SUSPENDED    if the task to resume has not been suspended
C51 COMPILER V7.06   OS_TASK                                                               07/18/2003 11:06:04 PAGE 12  

 674          *********************************************************************************************************
 675          */
 676          #if     0//#Lin
              #if OS_TASK_SUSPEND_EN > 0
              INT8U  OSTaskResume (INT8U prio)
              {
              #if OS_CRITICAL_METHOD == 3                      /* Allocate storage for CPU status register           */
                  OS_CPU_SR  cpu_sr;
              #endif
                  OS_TCB    *ptcb;
              
              
              #if OS_ARG_CHK_EN > 0
                  if (prio >= OS_LOWEST_PRIO) {                               /* Make sure task priority is valid    */
                      return (OS_PRIO_INVALID);
                  }
              #endif
                  OS_ENTER_CRITICAL();
                  ptcb = OSTCBPrioTbl[prio];
                  if (ptcb == (OS_TCB *)0) {                                  /* Task to suspend must exist          */
                      OS_EXIT_CRITICAL();
                      return (OS_TASK_RESUME_PRIO);
                  }
                  if ((ptcb->OSTCBStat & OS_STAT_SUSPEND) != OS_STAT_RDY) {   /* Task must be suspended              */
                      ptcb->OSTCBStat &= ~OS_STAT_SUSPEND;                                    /* Remove suspension                   */
                      if (ptcb->OSTCBStat == OS_STAT_RDY) {                      
                          if (ptcb->OSTCBDly  == 0) {                         /* Must not be delayed                 */
                              OSRdyGrp               |= ptcb->OSTCBBitY;      /* Make task ready to run              */
                              OSRdyTbl[ptcb->OSTCBY] |= ptcb->OSTCBBitX;
                              OS_EXIT_CRITICAL();
                              OS_Sched();
                                      } else {
                                          OS_EXIT_CRITICAL();
                                      }
                      } else {
                          OS_EXIT_CRITICAL();
                      }
                      return (OS_NO_ERR);
                  }
                  OS_EXIT_CRITICAL();
                  return (OS_TASK_NOT_SUSPENDED);
              }
              #endif
              
              #endif
 719          /*$PAGE*/
 720          /*
 721          *********************************************************************************************************
 722          *                                             STACK CHECKING
 723          *
 724          * Description: This function is called to check the amount of free memory left on the specified task's
 725          *              stack.
 726          *
 727          * Arguments  : prio     is the task priority
 728          *
 729          *              pdata    is a pointer to a data structure of type OS_STK_DATA.
 730          *
 731          * Returns    : OS_NO_ERR           upon success
 732          *              OS_PRIO_INVALID     if the priority you specify is higher that the maximum allowed
 733          *                                  (i.e. > OS_LOWEST_PRIO) or, you have not specified OS_PRIO_SELF.
 734          *              OS_TASK_NOT_EXIST   if the desired task has not been created
 735          *              OS_TASK_OPT_ERR     if you did NOT specified OS_TASK_OPT_STK_CHK when the task was created
C51 COMPILER V7.06   OS_TASK                                                               07/18/2003 11:06:04 PAGE 13  

 736          *********************************************************************************************************
 737          */
 738          #if OS_TASK_CREATE_EXT_EN > 0
 739          INT8U  OSTaskStkChk (INT8U prio, OS_STK_DATA *pndata) reentrant //using 0
 740          {
 741   1      #if OS_CRITICAL_METHOD == 3                      /* Allocate storage for CPU status register           */
 742   1          OS_CPU_SR  cpu_sr;
 743   1      #endif
 744   1          OS_TCB    *ptcb;
 745   1          OS_STK    *pchk;
 746   1          INT32U     free;
 747   1          INT32U     size;
 748   1      
 749   1      
 750   1      #if OS_ARG_CHK_EN > 0
 751   1          if (prio > OS_LOWEST_PRIO) {                                           /* Make sure task priority is valid             */
 752   2              if (prio != OS_PRIO_SELF) {        
 753   3                  return (OS_PRIO_INVALID);
 754   3              }
 755   2          }
 756   1      #endif
 757   1          pndata->OSFree = 0;                                 /* Assume failure, set to 0 size                */
 758   1          pndata->OSUsed = 0;
 759   1          OS_ENTER_CRITICAL();
 760   1          if (prio == OS_PRIO_SELF) {                        /* See if check for SELF                        */
 761   2              prio = OSTCBCur->OSTCBPrio;
 762   2          }
 763   1          ptcb = OSTCBPrioTbl[prio];
 764   1          if (ptcb == (OS_TCB *)0) {                         /* Make sure task exist                         */
 765   2              OS_EXIT_CRITICAL();
 766   2              return (OS_TASK_NOT_EXIST);
 767   2          }
 768   1          if (ptcb == (OS_TCB *)1) {
 769   2              OS_EXIT_CRITICAL();
 770   2              return (OS_TASK_NOT_EXIST);
 771   2          }  
 772   1          if ((ptcb->OSTCBOpt & OS_TASK_OPT_STK_CHK) == 0) { /* Make sure stack checking option is set       */
 773   2              OS_EXIT_CRITICAL();
 774   2              return (OS_TASK_OPT_ERR);
 775   2          }
 776   1          free = 0;
 777   1          size = ptcb->OSTCBStkSize;
 778   1          pchk = ptcb->OSTCBStkBottom;
 779   1          OS_EXIT_CRITICAL();
 780   1      #if OS_STK_GROWTH == 1
                  while (*pchk++ == (OS_STK)0) {                    /* Compute the number of zero entries on the stk */
                      free++;
                  }
              #else
 785   1          while (*pchk-- == (OS_STK)0) {
 786   2              free++;
 787   2          }
 788   1      #endif
 789   1          pndata->OSFree = free * sizeof(OS_STK);            /* Compute number of free bytes on the stack     */
 790   1          pndata->OSUsed = (size - free) * sizeof(OS_STK);   /* Compute number of bytes used on the stack     */
 791   1          return (OS_NO_ERR);
 792   1      }
 793          #endif
 794          /*$PAGE*/
 795          /*
 796          *********************************************************************************************************
 797          *                                            SUSPEND A TASK
C51 COMPILER V7.06   OS_TASK                                                               07/18/2003 11:06:04 PAGE 14  

 798          *
 799          * Description: This function is called to suspend a task.  The task can be the calling task if the
 800          *              priority passed to OSTaskSuspend() is the priority of the calling task or OS_PRIO_SELF.
 801          *
 802          * Arguments  : prio     is the priority of the task to suspend.  If you specify OS_PRIO_SELF, the
 803          *                       calling task will suspend itself and rescheduling will occur.
 804          *
 805          * Returns    : OS_NO_ERR                if the requested task is suspended
 806          *              OS_TASK_SUSPEND_IDLE     if you attempted to suspend the idle task which is not allowed.
 807          *              OS_PRIO_INVALID          if the priority you specify is higher that the maximum allowed
 808          *                                       (i.e. >= OS_LOWEST_PRIO) or, you have not specified OS_PRIO_SELF.
 809          *              OS_TASK_SUSPEND_PRIO     if the task to suspend does not exist
 810          *
 811          * Note       : You should use this function with great care.  If you suspend a task that is waiting for
 812          *              an event (i.e. a message, a semaphore, a queue ...) you will prevent this task from
 813          *              running when the event arrives.
 814          *********************************************************************************************************
 815          */
 816          
 817          #if OS_TASK_SUSPEND_EN > 0
 818          INT8U  OSTaskSuspend (INT8U prio) reentrant //using 0
 819          {
 820   1      #if OS_CRITICAL_METHOD == 3                      /* Allocate storage for CPU status register           */
 821   1          OS_CPU_SR  cpu_sr;
 822   1      #endif
 823   1          BOOLEAN    self;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲欧洲中文日韩久久av乱码| 免费观看一级特黄欧美大片| 欧美日韩成人综合天天影院 | 日韩欧美中文一区二区| 在线观看日韩精品| 色综合久久99| 不卡的电视剧免费网站有什么| 狠狠色狠狠色合久久伊人| 亚洲国产一区在线观看| 亚洲精品国产一区二区三区四区在线| 久久久另类综合| 精品日韩一区二区| 色偷偷一区二区三区| 在线精品观看国产| 欧美最猛性xxxxx直播| 色呦呦一区二区三区| 91在线观看地址| 色老汉av一区二区三区| 91福利国产成人精品照片| 91日韩精品一区| 91在线视频观看| 色噜噜狠狠一区二区三区果冻| 国内精品视频一区二区三区八戒 | 青青草视频一区| 亚洲国产精品影院| 亚洲欧美日韩精品久久久久| 一区二区三区四区不卡视频| 一区二区三区在线观看国产 | 亚洲一区二区三区四区不卡| 亚洲综合区在线| 天天综合网天天综合色| 极品少妇xxxx精品少妇| 国产91露脸合集magnet| 不卡区在线中文字幕| 色屁屁一区二区| 69av一区二区三区| 久久综合色天天久久综合图片| 久久久蜜桃精品| 国产精品毛片大码女人| 亚洲青青青在线视频| 亚洲一区二区免费视频| 日本不卡视频在线| 国产一区二区三区日韩| 国产精品1区2区3区在线观看| 色婷婷国产精品| 欧美男男青年gay1069videost | 日本高清不卡视频| 欧美天堂亚洲电影院在线播放| 欧美男男青年gay1069videost| 精品美女在线观看| 国产精品美女www爽爽爽| 亚洲资源中文字幕| 亚洲6080在线| 成人性生交大合| 在线中文字幕不卡| 欧美一区二区精品久久911| 欧美不卡一区二区| 中文字幕一区二区三区精华液 | 在线精品视频免费播放| 欧美一级高清大全免费观看| 精品国产1区二区| 一区二区三区久久| 久久精品国产在热久久| 91在线小视频| 日韩午夜三级在线| 亚洲综合在线视频| 国产美女一区二区三区| 欧美亚洲一区二区在线| 久久久久久综合| 亚洲欧美色一区| 韩国精品免费视频| 欧美在线免费播放| 久久精品视频一区| 亚洲444eee在线观看| 99精品国产视频| 欧美精品一区二区蜜臀亚洲| 一区二区三区资源| 国产久卡久卡久卡久卡视频精品| 韩国精品在线观看| 日韩欧美中文字幕制服| 亚洲一区二区视频| 风间由美一区二区三区在线观看 | 九色|91porny| 91成人在线精品| 国产欧美日韩不卡免费| 婷婷综合久久一区二区三区| 99热精品一区二区| 一本大道av一区二区在线播放| 成人18视频日本| 国产日韩欧美高清在线| 国产在线不卡视频| 精品嫩草影院久久| 精品一区二区三区免费毛片爱| 欧美美女一区二区在线观看| 亚洲亚洲精品在线观看| zzijzzij亚洲日本少妇熟睡| 欧美激情资源网| 丁香亚洲综合激情啪啪综合| 欧美国产日本韩| 成人精品视频一区| 国产精品久久久久精k8| 99麻豆久久久国产精品免费| 国产精品久久精品日日| 91在线视频观看| 亚洲激情第一区| 欧美日韩午夜在线| 五月天一区二区三区| 欧美一区二区精品在线| 麻豆精品一区二区三区| 欧美成人bangbros| 国产精品12区| 中文久久乱码一区二区| 成人动漫一区二区在线| 亚洲欧美乱综合| 欧美色爱综合网| 日韩黄色片在线观看| 欧美一级在线观看| 另类欧美日韩国产在线| 精品国产不卡一区二区三区| 国内外成人在线视频| 欧美国产视频在线| 在线视频综合导航| 日本欧美肥老太交大片| 久久久综合网站| 99视频精品免费视频| 亚洲国产精品一区二区www在线 | 欧美日本在线观看| 麻豆免费精品视频| 欧美国产国产综合| 欧美亚洲高清一区二区三区不卡| 亚洲电影一区二区三区| 日韩欧美在线综合网| 成人午夜在线播放| 亚洲午夜久久久久中文字幕久| 日韩一区二区在线播放| 成人三级伦理片| 性做久久久久久| 亚洲精品在线免费观看视频| 成人免费毛片aaaaa**| 一区二区三区不卡视频| 欧美成人aa大片| 99riav一区二区三区| 天堂久久一区二区三区| 久久久久国产一区二区三区四区 | 7777精品伊人久久久大香线蕉超级流畅 | 欧美亚洲国产一区在线观看网站 | 不卡视频在线观看| 肉肉av福利一精品导航| 久久久www成人免费毛片麻豆 | 色婷婷综合久久久| 久久精品72免费观看| 国产精品第一页第二页第三页| 欧美精品视频www在线观看| 国产乱子轮精品视频| 亚洲精品视频一区| 欧美精品一区二区三区高清aⅴ | 国产欧美一区二区精品忘忧草| 欧美亚洲图片小说| 福利视频网站一区二区三区| 亚洲国产精品久久不卡毛片| 日本一区二区三区电影| 51久久夜色精品国产麻豆| 成人一区二区三区在线观看| 天堂一区二区在线| 中文字幕中文字幕一区二区 | 麻豆精品久久久| 亚洲欧美国产77777| 久久久99精品免费观看| 欧美日韩国产小视频在线观看| 国产一区二区三区高清播放| 亚洲午夜久久久| 亚洲欧洲在线观看av| 久久久久久麻豆| 欧美一区二区视频在线观看2022| 日本韩国欧美一区| www.色综合.com| 国产一区二区看久久| 男人的天堂久久精品| 亚洲一区在线视频观看| 中文字幕亚洲电影| 久久精品一二三| 欧美成人综合网站| 欧美一区二区三区爱爱| 欧美亚洲动漫另类| 日本久久电影网| 91欧美一区二区| 高清在线成人网| 国产原创一区二区| 麻豆精品国产91久久久久久| 午夜欧美在线一二页| 一区二区三区精品视频在线| 亚洲色图清纯唯美| 国产精品久久久久久久午夜片| 欧美精品一区二区在线播放| 日韩欧美123| 欧美大度的电影原声| 日韩午夜在线观看| 日韩一区二区三区观看| 日韩欧美亚洲国产另类| 日韩一区二区在线观看视频播放|