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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? os_mbox.lst

?? ucos v2.62 安裝程序 附帶已移植到C8051F020的UCOS源碼
?? LST
?? 第 1 頁 / 共 3 頁
字號:
C51 COMPILER V8.05a   OS_MBOX                                                              04/11/2007 16:19:49 PAGE 1   


C51 COMPILER V8.05a, COMPILATION OF MODULE OS_MBOX
OBJECT MODULE PLACED IN ..\Output\os_mbox.obj
COMPILER INVOKED BY: D:\Program Files\keil\C51\BIN\C51.EXE ..\SOURCE\os_mbox.c LARGE BROWSE INCDIR(..\app;..\Main;..\Por
                    -t;..\SOURCE) DEBUG OBJECTEXTEND PRINT(..\Output\os_mbox.lst) OBJECT(..\Output\os_mbox.obj)

line level    source

   1          /*
   2          *********************************************************************************************************
   3          *                                                uC/OS-II
   4          *                                          The Real-Time Kernel
   5          *                                       MESSAGE MAILBOX MANAGEMENT
   6          *
   7          *                          (c) Copyright 1992-2002, Jean J. Labrosse, Weston, FL
   8          *                                           All Rights Reserved
   9          *
  10          * File : OS_MBOX.C
  11          * By   : Jean J. Labrosse
  12          *********************************************************************************************************
  13          */
  14          
  15          #ifndef  OS_MASTER_FILE
  16          #include "includes.h"
  17          #endif
  18          
  19          #if OS_MBOX_EN > 0
              /*
              *********************************************************************************************************
              *                                     ACCEPT MESSAGE FROM MAILBOX
              *
              * Description: This function checks the mailbox to see if a message is available.  Unlike OSMboxPend(),
              *              OSMboxAccept() does not suspend the calling task if a message is not available.
              *
              * Arguments  : pevent        is a pointer to the event control block
              *
              * Returns    : != (void *)0  is the message in the mailbox if one is available.  The mailbox is cleared
              *                            so the next time OSMboxAccept() is called, the mailbox will be empty.
              *              == (void *)0  if the mailbox is empty or,
              *                            if 'pevent' is a NULL pointer or,
              *                            if you didn't pass the proper event pointer.
              *********************************************************************************************************
              */
              
              #if OS_MBOX_ACCEPT_EN > 0
              void  *OSMboxAccept (OS_EVENT *pevent) KCREENTRANT      
              {
              #if OS_CRITICAL_METHOD == 3                      /* Allocate storage for CPU status register           */
                  OS_CPU_SR  cpu_sr;
              #endif    
                  void      *msg;
              
              
              #if OS_ARG_CHK_EN > 0
                  if (pevent == (OS_EVENT *)0) {                        /* Validate 'pevent'                         */
                      return ((void *)0);
                  }
              #endif
                  if (pevent->OSEventType != OS_EVENT_TYPE_MBOX) {      /* Validate event block type                 */
                      return ((void *)0);
                  }
                  OS_ENTER_CRITICAL();
C51 COMPILER V8.05a   OS_MBOX                                                              04/11/2007 16:19:49 PAGE 2   

                  msg                = pevent->OSEventPtr;
                  pevent->OSEventPtr = (void *)0;                       /* Clear the mailbox                         */
                  OS_EXIT_CRITICAL();
                  return (msg);                                         /* Return the message received (or NULL)     */
              }
              #endif
              /*$PAGE*/
              /*
              *********************************************************************************************************
              *                                        CREATE A MESSAGE MAILBOX
              *
              * Description: This function creates a message mailbox if free event control blocks are available.
              *
              * Arguments  : msg           is a pointer to a message that you wish to deposit in the mailbox.  If
              *                            you set this value to the NULL pointer (i.e. (void *)0) then the mailbox
              *                            will be considered empty.
              *
              * Returns    : != (OS_EVENT *)0  is a pointer to the event control clock (OS_EVENT) associated with the
              *                                created mailbox
              *              == (OS_EVENT *)0  if no event control blocks were available
              *********************************************************************************************************
              */
              
              OS_EVENT  *OSMboxCreate (void *msg)      KCREENTRANT    
              {
              #if OS_CRITICAL_METHOD == 3                      /* Allocate storage for CPU status register           */
                  OS_CPU_SR  cpu_sr;
              #endif    
                  OS_EVENT  *pevent;
              
              
                  if (OSIntNesting > 0) {                      /* See if called from ISR ...                         */
                      return ((OS_EVENT *)0);                  /* ... can't CREATE from an ISR                       */
                  }
                  OS_ENTER_CRITICAL();
                  pevent = OSEventFreeList;                    /* Get next free event control block                  */
                  if (OSEventFreeList != (OS_EVENT *)0) {      /* See if pool of free ECB pool was empty             */
                      OSEventFreeList = (OS_EVENT *)OSEventFreeList->OSEventPtr;
                  }
                  OS_EXIT_CRITICAL();
                  if (pevent != (OS_EVENT *)0) {
                      pevent->OSEventType = OS_EVENT_TYPE_MBOX;
                      pevent->OSEventCnt  = 0;
                      pevent->OSEventPtr  = msg;               /* Deposit message in event control block             */
              #if OS_EVENT_NAME_SIZE > 0
                      (void)strcpy(pevent->OSEventName, "?");
              #endif
                      OS_EventWaitListInit(pevent);
                  }
                  return (pevent);                             /* Return pointer to event control block              */
              }
              /*$PAGE*/
              /*
              *********************************************************************************************************
              *                                         DELETE A MAIBOX
              *
              * Description: This function deletes a mailbox and readies all tasks pending on the mailbox.
              *
              * Arguments  : pevent        is a pointer to the event control block associated with the desired
              *                            mailbox.
              *
              *              opt           determines delete options as follows:
C51 COMPILER V8.05a   OS_MBOX                                                              04/11/2007 16:19:49 PAGE 3   

              *                            opt == OS_DEL_NO_PEND   Delete the mailbox ONLY if no task pending
              *                            opt == OS_DEL_ALWAYS    Deletes the mailbox even if tasks are waiting.
              *                                                    In this case, all the tasks pending will be readied.
              *
              *              err           is a pointer to an error code that can contain one of the following values:
              *                            OS_NO_ERR               The call was successful and the mailbox was deleted
              *                            OS_ERR_DEL_ISR          If you attempted to delete the mailbox from an ISR
              *                            OS_ERR_INVALID_OPT      An invalid option was specified
              *                            OS_ERR_TASK_WAITING     One or more tasks were waiting on the mailbox
              *                            OS_ERR_EVENT_TYPE       If you didn't pass a pointer to a mailbox
              *                            OS_ERR_PEVENT_NULL      If 'pevent' is a NULL pointer.
              *
              * Returns    : pevent        upon error
              *              (OS_EVENT *)0 if the mailbox was successfully deleted.
              *
              * Note(s)    : 1) This function must be used with care.  Tasks that would normally expect the presence of
              *                 the mailbox MUST check the return code of OSMboxPend().
              *              2) OSMboxAccept() callers will not know that the intended mailbox has been deleted!
              *              3) This call can potentially disable interrupts for a long time.  The interrupt disable
              *                 time is directly proportional to the number of tasks waiting on the mailbox.
              *              4) Because ALL tasks pending on the mailbox will be readied, you MUST be careful in
              *                 applications where the mailbox is used for mutual exclusion because the resource(s)
              *                 will no longer be guarded by the mailbox.
              *********************************************************************************************************
              */
              
              #if OS_MBOX_DEL_EN > 0
              OS_EVENT  *OSMboxDel (OS_EVENT *pevent, INT8U opt, INT8U *err) KCREENTRANT      
              {
              #if OS_CRITICAL_METHOD == 3                                /* Allocate storage for CPU status register */
                  OS_CPU_SR  cpu_sr;
              #endif    
                  BOOLEAN    tasks_waiting;
              
              
                  if (OSIntNesting > 0) {                                /* See if called from ISR ...               */
                      *err = OS_ERR_DEL_ISR;                             /* ... can't DELETE from an ISR             */
                      return (pevent);
                  }
              #if OS_ARG_CHK_EN > 0
                  if (pevent == (OS_EVENT *)0) {                         /* Validate 'pevent'                        */
                      *err = OS_ERR_PEVENT_NULL;
                      return (pevent);
                  }
              #endif
                  if (pevent->OSEventType != OS_EVENT_TYPE_MBOX) {       /* Validate event block type                */
                      *err = OS_ERR_EVENT_TYPE;
                      return (pevent);
                  }
                  OS_ENTER_CRITICAL();
                  if (pevent->OSEventGrp != 0x00) {                      /* See if any tasks waiting on mailbox      */
                      tasks_waiting = TRUE;                              /* Yes                                      */

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品1024| 亚洲国产精品人人做人人爽| 精品免费日韩av| 日韩精品在线看片z| 欧美国产精品一区| 亚洲高清不卡在线| 欧美欧美欧美欧美首页| 久久久久久影视| 亚洲精品国产a久久久久久 | 国产一区二区电影| 99久久er热在这里只有精品15| 欧美色综合影院| 久久久久久电影| 成人免费va视频| 91精品国产乱码| 中文字幕一区二区三区视频 | 91 com成人网| 国产精品网站一区| 国产在线看一区| 欧美性一区二区| 久久激情五月激情| 欧美视频中文字幕| 精品一区二区三区在线播放视频 | 五月婷婷久久丁香| 99久久精品费精品国产一区二区 | 亚洲1区2区3区视频| 99久久久精品| 日韩精品电影一区亚洲| 91玉足脚交白嫩脚丫在线播放| 国产亚洲欧美中文| 激情久久久久久久久久久久久久久久| 久久久国产精品不卡| 91在线视频网址| 免费成人在线影院| 欧美精品自拍偷拍| 图片区小说区国产精品视频| 久久久噜噜噜久久人人看 | 欧美日本一区二区| 成人网页在线观看| 日本在线观看不卡视频| 欧美一级艳片视频免费观看| 99久久精品一区二区| 免费国产亚洲视频| 亚洲综合丝袜美腿| 欧美中文字幕一二三区视频| 亚洲精品少妇30p| 久久综合久久久久88| 韩国女主播成人在线| 亚洲大片精品永久免费| 国产精品色呦呦| 欧美电视剧免费全集观看| 一本一道久久a久久精品| 国产精品久久久久久久久果冻传媒 | 国产午夜一区二区三区| 欧美肥胖老妇做爰| 在线观看视频欧美| 成人av在线播放网站| 一区二区在线观看免费| 久久先锋影音av鲁色资源网| 在线播放一区二区三区| 欧美少妇性性性| 色婷婷亚洲一区二区三区| 国产黄色精品视频| 国产一区二区福利视频| 狠狠色综合色综合网络| 日韩成人精品视频| 性欧美疯狂xxxxbbbb| 亚洲乱码中文字幕| 亚洲三级在线免费观看| 欧美肥妇bbw| 精品视频在线免费观看| 韩国一区二区视频| 麻豆免费看一区二区三区| 欧美国产欧美综合| 国产午夜三级一区二区三| 亚洲精品一区二区在线观看| 99精品视频中文字幕| 成人午夜免费电影| 国产91对白在线观看九色| 亚洲综合另类小说| 亚洲影院在线观看| 亚洲综合久久久| 午夜视频在线观看一区二区三区| 亚洲高清不卡在线观看| 偷拍一区二区三区四区| 午夜成人免费电影| 婷婷一区二区三区| 日本强好片久久久久久aaa| 全国精品久久少妇| 国产揄拍国内精品对白| 高清免费成人av| 不卡视频在线观看| 色94色欧美sute亚洲13| 国产麻豆视频一区二区| 国产1区2区3区精品美女| 不卡电影免费在线播放一区| 丁香激情综合五月| 色欧美88888久久久久久影院| 在线观看亚洲a| 日韩三级电影网址| 日本乱人伦一区| 欧美久久久久久久久中文字幕| 日韩欧美在线网站| 欧美国产日韩精品免费观看| 亚洲精品视频一区二区| 日韩高清国产一区在线| 国产一本一道久久香蕉| 91一区二区在线| 欧美精品xxxxbbbb| 久久久国产精品麻豆| 亚洲免费视频成人| 国产精品久久久久一区| 亚洲精品国产第一综合99久久| 日韩精品午夜视频| 成人午夜私人影院| 欧美日本韩国一区| 国产精品三级av在线播放| 一区二区三区.www| 一区二区三区日韩欧美| 青青草精品视频| aaa欧美色吧激情视频| 成人国产精品免费观看动漫| 欧美无乱码久久久免费午夜一区| 精品国产免费一区二区三区香蕉| 亚洲图片激情小说| 久久草av在线| 在线观看视频91| 亚洲国产精品成人综合| 首页国产欧美日韩丝袜| 成人深夜视频在线观看| 这里只有精品99re| 中文字幕亚洲一区二区va在线| 日本欧美一区二区三区乱码| 97se亚洲国产综合自在线不卡| 日韩欧美国产综合在线一区二区三区| 国产精品久久久久久久久晋中| 蜜桃久久久久久| 一本到不卡免费一区二区| 26uuu精品一区二区在线观看| 一区二区三区四区五区视频在线观看| 国产在线精品视频| 欧美一区二区三区视频| 亚洲激情综合网| 成人综合日日夜夜| 亚洲精品在线免费观看视频| 午夜欧美大尺度福利影院在线看| eeuss影院一区二区三区 | 国产成a人亚洲精| 欧美一二三四区在线| 午夜久久久久久久久| 99免费精品视频| 久久影视一区二区| 久久国产尿小便嘘嘘| 日韩区在线观看| 性感美女极品91精品| 91黄视频在线观看| 亚洲视频电影在线| 成人福利电影精品一区二区在线观看| 2014亚洲片线观看视频免费| 久久精品国产亚洲一区二区三区| 欧美放荡的少妇| 亚洲bt欧美bt精品| 欧美日韩中文另类| 一区二区三区电影在线播| 91色九色蝌蚪| 亚洲欧美另类久久久精品2019| 99精品视频一区| |精品福利一区二区三区| 99久久国产综合精品色伊| 亚洲同性gay激情无套| 91蜜桃免费观看视频| 国产精品不卡视频| 99久久精品国产网站| 亚洲蜜臀av乱码久久精品蜜桃| 91视频在线观看| 一区二区三区在线高清| 欧美日韩免费一区二区三区视频| 亚洲成人自拍网| 欧美日韩精品一区二区三区四区 | av电影在线观看一区| 中文字幕一区在线观看视频| av在线不卡电影| 一区二区视频在线看| 欧美色精品在线视频| 人人精品人人爱| 久久综合九色综合97婷婷| 懂色av中文一区二区三区| 中文字幕一区二区三区av| 欧洲一区二区av| 日韩av一级片| 国产午夜亚洲精品理论片色戒 | 精品视频999| 麻豆精品一区二区| 国产精品三级电影| 欧美日韩国产小视频| 久久成人久久爱| 亚洲视频网在线直播| 91精品国产手机| 成人激情小说乱人伦| 亚洲国产综合在线|