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

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

?? os_core.lst

?? uCOS 嵌入式操作系統的改進版,增加了網絡通訊.
?? LST
?? 第 1 頁 / 共 5 頁
字號:
 220          /*
 221          *********************************************************************************************************
 222          *                         GET THE NAME OF A SEMAPHORE, MUTEX, MAILBOX or QUEUE
 223          *
 224          * Description: This function is used to obtain the name assigned to a semaphore, mutex, mailbox or queue.
 225          *
 226          * Arguments  : pevent    is a pointer to the event group.  'pevent' can point either to a semaphore,
 227          *                        a mutex, a mailbox or a queue.  Where this function is concerned, the actual
 228          *                        type is irrelevant.
 229          *
 230          *              pname     is a pointer to an ASCII string that will receive the name of the semaphore,
 231          *                        mutex, mailbox or queue.  The string must be able to hold at least 
 232          *                        OS_EVENT_NAME_SIZE characters.
 233          *
 234          *              err       is a pointer to an error code that can contain one of the following values:
 235          *
 236          *                        OS_NO_ERR                  if the name was copied to 'pname'
 237          *                        OS_ERR_EVENT_TYPE          if 'pevent' is not pointing to the proper event 
 238          *                                                   control block type.
 239          *                        OS_ERR_PNAME_NULL          You passed a NULL pointer for 'pname'
 240          *                        OS_ERR_PEVENT_NULL         if you passed a NULL pointer for 'pevent'
C51 COMPILER V7.06   OS_CORE                                                               07/18/2003 11:05:56 PAGE 5   

 241          *
 242          * Returns    : The length of the string or 0 if the 'pevent' is a NULL pointer.
 243          *********************************************************************************************************
 244          */
 245          
 246          #if OS_EVENT_NAME_SIZE > 0
 247          INT8U  OSEventNameGet (OS_EVENT *pevent, char *pname, INT8U *err) reentrant //using 0
 248          {
 249   1      #if OS_CRITICAL_METHOD == 3                      /* Allocate storage for CPU status register           */
 250   1          OS_CPU_SR  cpu_sr;
 251   1      #endif
 252   1          INT8U      len;
 253   1      
 254   1      
 255   1          OS_ENTER_CRITICAL();
 256   1      #if OS_ARG_CHK_EN > 0
 257   1          if (pevent == (OS_EVENT *)0) {               /* Is 'pevent' a NULL pointer?                        */
 258   2              OS_EXIT_CRITICAL();                      /* Yes                                                */
 259   2              *err = OS_ERR_PEVENT_NULL;
 260   2              return (0);
 261   2          }
 262   1          if (pname == (char *)0) {                    /* Is 'pname' a NULL pointer?                         */
 263   2              OS_EXIT_CRITICAL();                      /* Yes                                                */
 264   2              *err = OS_ERR_PNAME_NULL;
 265   2              return (0);
 266   2          }
 267   1      #endif
 268   1          switch (pevent->OSEventType) {
 269   2              case OS_EVENT_TYPE_SEM:
 270   2              case OS_EVENT_TYPE_MUTEX:
 271   2              case OS_EVENT_TYPE_MBOX:
 272   2              case OS_EVENT_TYPE_Q:
 273   2                   break;
 274   2      
 275   2              default:
 276   2                   OS_EXIT_CRITICAL();
 277   2                   *err = OS_ERR_EVENT_TYPE;
 278   2                   return (0);
 279   2          }
 280   1          (void)strcpy(pname, pevent->OSEventName);    /* Yes, copy name from OS_EVENT                       */
 281   1          len  = strlen(pname);
 282   1          OS_EXIT_CRITICAL();
 283   1          *err = OS_NO_ERR;
 284   1          return (len);
 285   1      }
 286          #endif
 287          
 288          /*$PAGE*/
 289          /*
 290          *********************************************************************************************************
 291          *                         ASSIGN A NAME TO A SEMAPHORE, MUTEX, MAILBOX or QUEUE
 292          *
 293          * Description: This function assigns a name to a semaphore, mutex, mailbox or queue.
 294          *
 295          * Arguments  : pevent    is a pointer to the event group.  'pevent' can point either to a semaphore,
 296          *                        a mutex, a mailbox or a queue.  Where this function is concerned, it doesn't
 297          *                        matter the actual type.
 298          *
 299          *              pname     is a pointer to an ASCII string that will be used as the name of the semaphore,
 300          *                        mutex, mailbox or queue.  The string must be able to hold at least 
 301          *                        OS_EVENT_NAME_SIZE characters.
 302          *
C51 COMPILER V7.06   OS_CORE                                                               07/18/2003 11:05:56 PAGE 6   

 303          *              err       is a pointer to an error code that can contain one of the following values:
 304          *
 305          *                        OS_NO_ERR                  if the requested task is resumed
 306          *                        OS_ERR_EVENT_TYPE          if 'pevent' is not pointing to the proper event 
 307          *                                                   control block type.
 308          *                        OS_ERR_PNAME_NULL          You passed a NULL pointer for 'pname'
 309          *                        OS_ERR_PEVENT_NULL         if you passed a NULL pointer for 'pevent'
 310          *
 311          * Returns    : None
 312          *********************************************************************************************************
 313          */
 314          
 315          #if OS_EVENT_NAME_SIZE > 0
 316          void  OSEventNameSet (OS_EVENT *pevent, char *pname, INT8U *err) reentrant //using 0
 317          {
 318   1      #if OS_CRITICAL_METHOD == 3                      /* Allocate storage for CPU status register           */
 319   1          OS_CPU_SR  cpu_sr;
 320   1      #endif
 321   1          INT8U      len;
 322   1      
 323   1      
 324   1          OS_ENTER_CRITICAL();
 325   1      #if OS_ARG_CHK_EN > 0
 326   1          if (pevent == (OS_EVENT *)0) {               /* Is 'pevent' a NULL pointer?                        */
 327   2              OS_EXIT_CRITICAL();                      /* Yes                                                */
 328   2              *err = OS_ERR_PEVENT_NULL;
 329   2              return;
 330   2          }
 331   1          if (pname == (char *)0) {                    /* Is 'pname' a NULL pointer?                         */
 332   2              OS_EXIT_CRITICAL();                      /* Yes                                                */
 333   2              *err = OS_ERR_PNAME_NULL;
 334   2              return;
 335   2          }
 336   1      #endif
 337   1          switch (pevent->OSEventType) {
 338   2              case OS_EVENT_TYPE_SEM:
 339   2              case OS_EVENT_TYPE_MUTEX:
 340   2              case OS_EVENT_TYPE_MBOX:
 341   2              case OS_EVENT_TYPE_Q:
 342   2                   break;
 343   2      
 344   2              default:
 345   2                   OS_EXIT_CRITICAL();
 346   2                   *err = OS_ERR_EVENT_TYPE;
 347   2                   return;
 348   2          }
 349   1          len = strlen(pname);                         /* Can we fit the string in the storage area?         */
 350   1          if (len > (OS_EVENT_NAME_SIZE - 1)) {        /* No                                                 */
 351   2              OS_EXIT_CRITICAL();
 352   2              *err = OS_ERR_EVENT_NAME_TOO_LONG;
 353   2              return;
 354   2          } 
 355   1          (void)strcpy(pevent->OSEventName, pname);    /* Yes, copy name to the event control block          */
 356   1          OS_EXIT_CRITICAL();
 357   1          *err = OS_NO_ERR;
 358   1      }
 359          #endif
 360          
 361          /*$PAGE*/
 362          /*
 363          *********************************************************************************************************
 364          *                                             INITIALIZATION
C51 COMPILER V7.06   OS_CORE                                                               07/18/2003 11:05:56 PAGE 7   

 365          *
 366          * Description: This function is used to initialize the internals of uC/OS-II and MUST be called prior to
 367          *              creating any uC/OS-II object and, prior to calling OSStart().
 368          *
 369          * Arguments  : none
 370          *
 371          * Returns    : none
 372          *********************************************************************************************************
 373          */
 374          
 375          void  OSInit (void) reentrant //using 0
 376          {
 377   1      #if OS_VERSION >= 204
 378   1          OSInitHookBegin();                                           /* Call port specific initialization code
             -   */
 379   1      #endif
 380   1      
 381   1          OS_InitMisc();                                               /* Initialize miscellaneous variables    
             -   */
 382   1      
 383   1          OS_InitRdyList();                                            /* Initialize the Ready List             
             -   */
 384   1      
 385   1          OS_InitTCBList();                                            /* Initialize the free list of OS_TCBs   
             -   */
 386   1      
 387   1          OS_InitEventList();                                          /* Initialize the free list of OS_EVENTs 
             -   */
 388   1      
 389   1      #if (OS_VERSION >= 251) && (OS_FLAG_EN > 0) && (OS_MAX_FLAGS > 0)
 390   1          OS_FlagInit();                                               /* Initialize the event flag structures  
             -   */
 391   1      #endif
 392   1      
 393   1      #if (OS_MEM_EN > 0) && (OS_MAX_MEM_PART > 0)
 394   1          OS_MemInit();                                                /* Initialize the memory manager         
             -   */
 395   1      #endif
 396   1      
 397   1      #if (OS_Q_EN > 0) && (OS_MAX_QS > 0)
 398   1          OS_QInit();                                                  /* Initialize the message queue structure
             -s  */
 399   1      #endif
 400   1      
 401   1          OS_InitTaskIdle();                                           /* Create the Idle Task                  
             -   */
 402   1      #if OS_TASK_STAT_EN > 0
                  OS_InitTaskStat();                                           /* Create the Statistic Task             
             -   */
              #endif
 405   1      
 406   1      #if OS_VERSION >= 204
 407   1          OSInitHookEnd();                                             /* Call port specific init. code         
             -   */
 408   1      #endif
 409   1      }
 410          /*$PAGE*/
 411          /*
 412          *********************************************************************************************************
 413          *                                              ENTER ISR
 414          *
 415          * Description: This function is used to notify uC/OS-II that you are about to service an interrupt
C51 COMPILER V7.06   OS_CORE                                                               07/18/2003 11:05:56 PAGE 8   

 416          *              service routine (ISR).  This allows uC/OS-II to keep track of interrupt nesting and thus
 417          *              only perform rescheduling at the last nested ISR.
 418          *
 419          * Arguments  : none
 420          *
 421          * Returns    : none
 422          *
 423          * Notes      : 1) This function should be called ith interrupts already disabled
 424          *              2) Your ISR can directly increment OSIntNesting without calling this function because
 425          *                 OSIntNesting has been declared 'global'.  
 426          *              3) You MUST still call OSIntExit() even though you increment OSIntNesting directly.
 427          *              4) You MUST invoke OSIntEnter() and OSIntExit() in pair.  In other words, for every call
 428          *                 to OSIntEnter() at the beginning of the ISR you MUST have a call to OSIntExit() at the
 429          *                 end of the ISR.
 430          *              5) You are allowed to nest interrupts up to 255 levels deep.
 431          *              6) I removed the OS_ENTER_CRITICAL() and OS_EXIT_CRITICAL() around the increment because
 432          *                 OSIntEnter() is always called with interrupts disabled.
 433          *********************************************************************************************************
 434          */
 435          

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91精品国产高清一区二区三区| 亚洲女人的天堂| ●精品国产综合乱码久久久久| 日本女人一区二区三区| 国产电影一区二区三区| 欧美高清性hdvideosex| 国产精品超碰97尤物18| 精品一区二区三区久久| 欧美日韩精品三区| 亚洲欧美成人一区二区三区| 国产成人免费xxxxxxxx| 欧美mv日韩mv国产网站| 日日嗨av一区二区三区四区| 一本到不卡免费一区二区| 久久久91精品国产一区二区三区| 日韩中文字幕区一区有砖一区| 99精品视频在线观看| 国产清纯美女被跳蛋高潮一区二区久久w | 午夜精品久久久久| 99re66热这里只有精品3直播| 久久久久久久一区| 麻豆成人91精品二区三区| 欧美日韩免费一区二区三区视频 | 久久一日本道色综合| 偷拍日韩校园综合在线| 91激情在线视频| 亚洲欧美日韩国产综合| 成人av动漫在线| 久久久精品2019中文字幕之3| 另类小说一区二区三区| 欧美一区午夜精品| 日日夜夜免费精品| 日韩一二三区视频| 久久国产精品免费| 久久精品一区二区三区四区| 狠狠色狠狠色综合日日91app| 精品少妇一区二区三区免费观看| 日本一道高清亚洲日美韩| 91麻豆精品国产91| 精品写真视频在线观看| 国产色91在线| www.在线欧美| 一区二区三区**美女毛片| 欧美日韩一区成人| 秋霞电影网一区二区| 日韩欧美一二三| 国产成人在线视频免费播放| 国产欧美一区二区三区鸳鸯浴| 成人一区二区三区视频在线观看| 国产精品成人免费在线| 欧美日韩在线一区二区| 久久超级碰视频| 国产精品福利影院| 欧美日韩国产一级| 韩国女主播一区| 国产精品传媒入口麻豆| 日本道精品一区二区三区| 青青青爽久久午夜综合久久午夜| 久久夜色精品一区| 色综合久久久久综合体| 日本在线观看不卡视频| 国产日本欧美一区二区| 色94色欧美sute亚洲线路一ni| 免费欧美高清视频| 最好看的中文字幕久久| 91精品国模一区二区三区| 粉嫩一区二区三区性色av| 亚洲成人av一区二区| 久久久久久久性| 欧美在线播放高清精品| 精品一区二区三区在线播放 | 成人免费的视频| 一区二区三区在线观看欧美 | 蜜臀av性久久久久蜜臀aⅴ| 久久久久久久久久看片| 在线观看中文字幕不卡| 国产毛片一区二区| 亚洲va韩国va欧美va| 国产欧美日本一区视频| 欧美精品1区2区| 91丨九色丨蝌蚪丨老版| 激情五月播播久久久精品| 亚洲精品中文在线影院| 国产亚洲综合性久久久影院| 欧美日韩在线直播| 91丨九色丨国产丨porny| 国产在线精品一区在线观看麻豆| 亚洲综合无码一区二区| 中文字幕成人在线观看| 精品国产凹凸成av人导航| 欧美午夜精品一区二区三区| 国产成人综合自拍| 麻豆国产欧美日韩综合精品二区| 亚洲精选视频在线| 中文字幕一区二区三区不卡在线| 日韩精品一区二区三区视频播放 | 奇米一区二区三区| 亚洲大片精品永久免费| 中文字幕一区二区三区在线观看| 欧美一区二区三区视频| 欧美日韩免费在线视频| 在线免费一区三区| 成人av网站在线| 成人一区二区三区| 国产aⅴ综合色| 国产一区二区在线看| 毛片av中文字幕一区二区| 午夜久久久久久久久久一区二区| 亚洲免费视频成人| 亚洲蜜臀av乱码久久精品蜜桃| 国产精品久久久久久久久免费丝袜| 国产亚洲欧美在线| 精品99一区二区| 久久久久久久久久看片| 国产视频911| 国产精品免费视频网站| 中文字幕欧美一区| 国产精品久久久久久久裸模| 欧美高清在线一区二区| 国产精品久久久久久福利一牛影视 | 国产精品看片你懂得| 日本一区二区成人在线| 国产精品视频一二三| 成人欧美一区二区三区视频网页| 国产精品系列在线| 洋洋av久久久久久久一区| 亚洲成人av电影在线| 蜜臀久久久99精品久久久久久| 久久精品国产精品亚洲精品| 国产制服丝袜一区| 国产成人亚洲精品狼色在线| 国产1区2区3区精品美女| 不卡一卡二卡三乱码免费网站 | 国精产品一区一区三区mba桃花| 久久精品国产一区二区| 国产精品性做久久久久久| 大陆成人av片| 欧美在线观看一二区| 欧美一区二区视频观看视频 | 国产精品小仙女| 99国产精品久| 欧美日韩dvd在线观看| 2021中文字幕一区亚洲| 国产精品福利一区二区三区| 午夜精品一区二区三区三上悠亚| 美女免费视频一区二区| 成人国产在线观看| 精品视频资源站| 久久久久国产精品人| 亚洲一区二区不卡免费| 黄色小说综合网站| 91丨九色丨黑人外教| 欧美一区国产二区| 1024亚洲合集| 国产在线视频不卡二| 色香蕉成人二区免费| 欧美videos中文字幕| 亚洲激情综合网| 国产精品91xxx| 9191成人精品久久| 国产精品久久久久久久蜜臀| 免费日本视频一区| 91农村精品一区二区在线| 欧美不卡123| 亚洲成人一区二区| kk眼镜猥琐国模调教系列一区二区| 制服丝袜中文字幕一区| 综合婷婷亚洲小说| 国产成人综合网站| 日韩亚洲欧美在线观看| 亚洲精品乱码久久久久久日本蜜臀| 国产在线视频一区二区| 欧美日韩1234| 一区二区三区91| jlzzjlzz国产精品久久| 久久只精品国产| 免费观看在线综合| 欧美日韩精品电影| 亚洲免费观看视频| 成人黄色大片在线观看| 26uuu国产日韩综合| 日韩vs国产vs欧美| 欧美精品123区| 亚洲国产综合91精品麻豆| 91视视频在线观看入口直接观看www | 欧美一区二区三区影视| 一区二区三区不卡视频| 99国产麻豆精品| 中文字幕在线视频一区| 丁香婷婷深情五月亚洲| 日韩视频一区二区三区 | 国产精品99久| 精品乱码亚洲一区二区不卡| 日本不卡1234视频| 69堂国产成人免费视频| 午夜精品福利在线| 制服丝袜激情欧洲亚洲| 人人爽香蕉精品| 欧美一级高清片| 麻豆精品一区二区三区|