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

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

?? os_task.lst

?? ucos v2.62 安裝程序 附帶已移植到C8051F020的UCOS源碼
?? LST
?? 第 1 頁 / 共 5 頁
字號:
                  }
                  (void)strcpy(pname, ptcb->OSTCBTaskName);    /* Yes, copy name from TCB                            */
                  len  = strlen(pname);
                  OS_EXIT_CRITICAL();
                  *err = OS_NO_ERR;
                  return (len);
              }
              #endif
 587          
 588          /*$PAGE*/
 589          /*
 590          *********************************************************************************************************
 591          *                                        ASSIGN A NAME TO A TASK
 592          *
 593          * Description: This function is used to set the name of a task.
 594          *
 595          * Arguments  : prio      is the priority of the task that you want the assign a name to.
 596          *
 597          *              pname     is a pointer to an ASCII string that contains the name of the task.  The ASCII
 598          *                        string must be NUL terminated.
 599          *
 600          *              err       is a pointer to an error code that can contain one of the following values:
 601          *
 602          *                        OS_NO_ERR                  if the requested task is resumed
 603          *                        OS_TASK_NOT_EXIST          if the task has not been created
 604          *                        OS_ERR_TASK_NAME_TOO_LONG  if the name you are giving to the task exceeds the 
 605          *                                                   storage capacity of a task name as specified by 
 606          *                                                   OS_TASK_NAME_SIZE.
 607          *                        OS_ERR_PNAME_NULL          You passed a NULL pointer for 'pname'
 608          *                        OS_PRIO_INVALID            if you specified an invalid priority:
 609          *                                                   A higher value than the idle task or not OS_PRIO_SELF.
 610          *
 611          * Returns    : None
 612          *********************************************************************************************************
C51 COMPILER V8.05a   OS_TASK                                                              04/11/2007 16:19:49 PAGE 11  

 613          */
 614          #if OS_TASK_NAME_SIZE > 0
              void  OSTaskNameSet (INT8U prio, char *pname, INT8U *err) KCREENTRANT   
              {
              #if OS_CRITICAL_METHOD == 3                      /* Allocate storage for CPU status register           */
                  OS_CPU_SR  cpu_sr;
              #endif
                  INT8U      len;
                  OS_TCB    *ptcb;
              
              
                  OS_ENTER_CRITICAL();
              #if OS_ARG_CHK_EN > 0
                  if (prio > OS_LOWEST_PRIO) {                 /* Task priority valid ?                              */
                      if (prio != OS_PRIO_SELF) {              
                          *err = OS_PRIO_INVALID;              /* No                                                 */
                          return;
                      }
                  }
                  if (pname == (char *)0) {                    /* Is 'pname' a NULL pointer?                         */
                      OS_EXIT_CRITICAL();                      /* Yes                                                */
                      *err = OS_ERR_PNAME_NULL;
                      return;
                  }
              #endif
                  if (prio == OS_PRIO_SELF) {                  /* See if caller desires to set it's own name         */
                      prio = OSTCBCur->OSTCBPrio;
                  }
                  ptcb = OSTCBPrioTbl[prio];
                  if (ptcb == (OS_TCB *)0) {                   /* Does task exist?                                   */
                      OS_EXIT_CRITICAL();                      /* No                                                 */
                      *err = OS_TASK_NOT_EXIST;
                      return;
                  }
                  len = strlen(pname);                         /* Yes, Can we fit the string in the TCB?             */
                  if (len > (OS_TASK_NAME_SIZE - 1)) {         /*      No                                            */
                      OS_EXIT_CRITICAL();
                      *err = OS_ERR_TASK_NAME_TOO_LONG;
                      return;
                  } 
                  (void)strcpy(ptcb->OSTCBTaskName, pname);    /*      Yes, copy to TCB                              */
                  OS_EXIT_CRITICAL();
                  *err = OS_NO_ERR;
              }
              #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
 674          *********************************************************************************************************
C51 COMPILER V8.05a   OS_TASK                                                              04/11/2007 16:19:49 PAGE 12  

 675          */
 676          
 677          #if OS_TASK_SUSPEND_EN > 0
 678          INT8U  OSTaskResume (INT8U prio)   KCREENTRANT  
 679          {
 680   1      #if OS_CRITICAL_METHOD == 3                      /* Allocate storage for CPU status register           */
                  OS_CPU_SR  cpu_sr;
              #endif
 683   1          OS_TCB    *ptcb;
 684   1      
 685   1      
 686   1      #if OS_ARG_CHK_EN > 0
 687   1          if (prio >= OS_LOWEST_PRIO) {                               /* Make sure task priority is valid    */
 688   2              return (OS_PRIO_INVALID);
 689   2          }
 690   1      #endif
 691   1          OS_ENTER_CRITICAL();
 692   1          ptcb = OSTCBPrioTbl[prio];
 693   1          if (ptcb == (OS_TCB *)0) {                                  /* Task to suspend must exist          */
 694   2              OS_EXIT_CRITICAL();
 695   2              return (OS_TASK_RESUME_PRIO);
 696   2          }
 697   1          if ((ptcb->OSTCBStat & OS_STAT_SUSPEND) != OS_STAT_RDY) {   /* Task must be suspended              */
 698   2              ptcb->OSTCBStat &= ~OS_STAT_SUSPEND;                                    /* Remove suspension                   */
 699   2              if (ptcb->OSTCBStat == OS_STAT_RDY) {                      
 700   3                  if (ptcb->OSTCBDly  == 0) {                         /* Must not be delayed                 */
 701   4                      OSRdyGrp               |= ptcb->OSTCBBitY;      /* Make task ready to run              */
 702   4                      OSRdyTbl[ptcb->OSTCBY] |= ptcb->OSTCBBitX;
 703   4                      OS_EXIT_CRITICAL();
 704   4                      OS_Sched();
 705   4                              } else {
 706   4                                  OS_EXIT_CRITICAL();
 707   4                              }
 708   3              } else {
 709   3                  OS_EXIT_CRITICAL();
 710   3              }
 711   2              return (OS_NO_ERR);
 712   2          }
 713   1          OS_EXIT_CRITICAL();
 714   1          return (OS_TASK_NOT_SUSPENDED);
 715   1      }
 716          #endif
 717          /*$PAGE*/
 718          /*
 719          *********************************************************************************************************
 720          *                                             STACK CHECKING
 721          *
 722          * Description: This function is called to check the amount of free memory left on the specified task's
 723          *              stack.
 724          *
 725          * Arguments  : prio     is the task priority
 726          *
 727          *              pdata    is a pointer to a data structure of type OS_STK_DATA.
 728          *
 729          * Returns    : OS_NO_ERR           upon success
 730          *              OS_PRIO_INVALID     if the priority you specify is higher that the maximum allowed
 731          *                                  (i.e. > OS_LOWEST_PRIO) or, you have not specified OS_PRIO_SELF.
 732          *              OS_TASK_NOT_EXIST   if the desired task has not been created
 733          *              OS_TASK_OPT_ERR     if you did NOT specified OS_TASK_OPT_STK_CHK when the task was created
 734          *********************************************************************************************************
 735          */
 736          #if OS_TASK_CREATE_EXT_EN > 0
C51 COMPILER V8.05a   OS_TASK                                                              04/11/2007 16:19:49 PAGE 13  

 737          INT8U  OSTaskStkChk (INT8U prio, OS_STK_DATA *pdata) KCREENTRANT        
 738          {
 739   1      #if OS_CRITICAL_METHOD == 3                      /* Allocate storage for CPU status register           */
                  OS_CPU_SR  cpu_sr;
              #endif
 742   1          OS_TCB    *ptcb;
 743   1          OS_STK    *pchk;
 744   1          INT32U     free;
 745   1          INT32U     size;
 746   1      
 747   1      
 748   1      #if OS_ARG_CHK_EN > 0
 749   1          if (prio > OS_LOWEST_PRIO) {                                           /* Make sure task priority is valid             */
 750   2              if (prio != OS_PRIO_SELF) {        
 751   3                  return (OS_PRIO_INVALID);
 752   3              }
 753   2          }
 754   1      #endif
 755   1          pdata->OSFree = 0;                                 /* Assume failure, set to 0 size                */
 756   1          pdata->OSUsed = 0;
 757   1          OS_ENTER_CRITICAL();
 758   1          if (prio == OS_PRIO_SELF) {                        /* See if check for SELF                        */
 759   2              prio = OSTCBCur->OSTCBPrio;
 760   2          }
 761   1          ptcb = OSTCBPrioTbl[prio];
 762   1          if (ptcb == (OS_TCB *)0) {                         /* Make sure task exist                         */
 763   2              OS_EXIT_CRITICAL();
 764   2              return (OS_TASK_NOT_EXIST);
 765   2          }
 766   1          if (ptcb == (OS_TCB *)1) {
 767   2              OS_EXIT_CRITICAL();
 768   2              return (OS_TASK_NOT_EXIST);
 769   2          }  
 770   1          if ((ptcb->OSTCBOpt & OS_TASK_OPT_STK_CHK) == 0) { /* Make sure stack checking option is set       */
 771   2              OS_EXIT_CRITICAL();
 772   2              return (OS_TASK_OPT_ERR);
 773   2          }
 774   1          free = 0;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
一级中文字幕一区二区| 中文字幕中文字幕在线一区| 国产69精品久久777的优势| 久久精品免费看| 亚洲欧美另类图片小说| 欧美一级视频精品观看| 大白屁股一区二区视频| 一区二区三区四区在线| 精品国产乱码久久久久久闺蜜| 在线不卡一区二区| 精品一区二区三区免费播放| 一区二区成人在线视频| 国产午夜精品福利| 777xxx欧美| 国产91精品一区二区麻豆网站| 色欧美片视频在线观看| 国产一区二区三区视频在线播放| 亚洲午夜日本在线观看| 日韩欧美电影在线| 精品国内片67194| 日韩亚洲电影在线| 91精品国产91久久久久久最新毛片| 久久精品99国产精品日本| 丝袜a∨在线一区二区三区不卡| 国产精品夜夜爽| 欧美精品第一页| 久久精品国产**网站演员| 懂色av一区二区三区免费观看 | 国产精品欧美一级免费| 日韩不卡在线观看日韩不卡视频| 国产成人精品免费在线| 日韩欧美综合在线| 亚洲高清在线精品| 一本大道综合伊人精品热热| 91久久精品一区二区三区| 久久精品男人的天堂| 免费成人在线影院| 日韩欧美电影一二三| 久久精品噜噜噜成人av农村| 欧美日韩高清在线播放| 日日夜夜一区二区| 日韩一区二区在线播放| 午夜精品123| 欧美色图在线观看| 视频一区二区三区在线| 6080午夜不卡| 国产美女精品一区二区三区| 久久免费国产精品| 国产精品综合一区二区三区| 久久综合色之久久综合| 国产一区二区三区在线观看免费 | av网站一区二区三区| 日韩激情一区二区| 亚洲五码中文字幕| 亚洲精品成人精品456| 国产日本一区二区| 日韩一区二区免费在线观看| 欧美日韩你懂的| 国产高清成人在线| 天天综合网 天天综合色| 国产午夜久久久久| 91精品国产免费久久综合| 丁香一区二区三区| 免费成人深夜小野草| 亚洲欧美日韩成人高清在线一区| 制服丝袜亚洲播放| 91伊人久久大香线蕉| 国产真实乱对白精彩久久| 亚洲va欧美va人人爽| 中文字幕在线视频一区| 久久精品亚洲国产奇米99| 欧美放荡的少妇| 欧美系列在线观看| 91福利在线观看| 91美女福利视频| 色综合视频一区二区三区高清| 激情五月激情综合网| 国内精品免费**视频| 免费观看在线色综合| 天天av天天翘天天综合网| 亚洲国产日韩精品| 亚洲与欧洲av电影| 五月激情综合色| 日韩国产一二三区| 免费人成精品欧美精品| 欧美aa在线视频| 激情五月婷婷综合网| 成人性视频免费网站| 99精品久久久久久| 欧美揉bbbbb揉bbbbb| 欧美视频三区在线播放| 日韩视频在线一区二区| 久久日一线二线三线suv| 中文字幕二三区不卡| 亚洲精品视频观看| 日本最新不卡在线| 国产99久久久精品| 一本一道波多野结衣一区二区| 欧美日韩精品一区视频| 久久久久久麻豆| 夜夜精品浪潮av一区二区三区| 免费看日韩a级影片| 不卡视频免费播放| 日韩免费观看高清完整版在线观看| 久久精品欧美一区二区三区麻豆| 亚洲欧美日韩一区二区三区在线观看 | 日韩免费一区二区| 亚洲精品乱码久久久久久 | 精品伦理精品一区| 一区二区视频在线| 成人在线视频一区二区| 678五月天丁香亚洲综合网| 中文字幕在线一区免费| 精品一区二区三区免费视频| 欧美日韩国产色站一区二区三区| 国产精品毛片久久久久久久| 日本中文一区二区三区| 欧美色精品在线视频| 国产亚洲一区二区三区在线观看| 天天色天天操综合| 欧美亚洲动漫精品| 午夜成人在线视频| 欧美亚洲综合在线| 日韩欧美不卡一区| 亚洲一卡二卡三卡四卡无卡久久| 国产91综合网| 久久女同性恋中文字幕| 国产一区二区不卡老阿姨| 在线播放91灌醉迷j高跟美女| 一区二区三区日韩| 在线观看免费视频综合| 天天色天天爱天天射综合| 欧美日韩国产另类不卡| 男女激情视频一区| 欧美精品一区二区三区高清aⅴ| 久久精品国产精品青草| 精品剧情在线观看| av不卡一区二区三区| 亚洲午夜免费电影| 日韩限制级电影在线观看| 国模无码大尺度一区二区三区| 久久亚洲二区三区| 99riav久久精品riav| 偷拍亚洲欧洲综合| 中文字幕精品一区二区三区精品| 99精品久久免费看蜜臀剧情介绍| 亚洲精品中文在线影院| 精品理论电影在线观看| 99久久久无码国产精品| 日韩不卡一区二区| 中文字幕在线不卡一区二区三区| 欧美乱熟臀69xxxxxx| 国产91精品久久久久久久网曝门 | 国产一区不卡精品| 夜夜揉揉日日人人青青一国产精品| 91精品国产乱码| 91麻豆精品视频| 国产一区在线观看麻豆| 亚洲成人动漫在线观看| 亚洲国产高清aⅴ视频| 日韩欧美中文字幕公布| 欧美一a一片一级一片| 91在线视频网址| 成人午夜免费电影| 国产成人8x视频一区二区| 蜜桃精品在线观看| 天天色天天操综合| 午夜不卡在线视频| 日韩精品一级二级| 五月天亚洲婷婷| 免费观看日韩电影| 国产呦萝稀缺另类资源| 麻豆精品在线观看| 久久99久久精品| 韩国一区二区在线观看| 极品少妇xxxx精品少妇偷拍| 视频一区二区不卡| 久久精品国产精品亚洲精品| 美女视频一区二区| 国内精品伊人久久久久av一坑| 麻豆精品视频在线观看免费| 六月婷婷色综合| 高清不卡在线观看| 色婷婷国产精品综合在线观看| 色哟哟精品一区| 欧美久久久久中文字幕| 久久美女高清视频| 亚洲欧美偷拍三级| 美腿丝袜在线亚洲一区| 国产精品自拍av| 91蝌蚪porny| 欧美不卡一区二区| 亚洲色图清纯唯美| 亚洲成人精品影院| 国产精品亚洲第一| 欧美日本韩国一区二区三区视频| 日韩免费成人网| 天天射综合影视| 色婷婷激情久久| 国产亚洲综合性久久久影院|