⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 serial.lst

📁 1. UC/OS 8051中完全应用。 2. 显示各个任务的执行时间, 执行时间占总时间百分比, tick计数器 3.任务中信号量,消息以及消息队列的使用。 我自己仔细测试过了
💻 LST
📖 第 1 页 / 共 5 页
字号:
  87      =2  
  88      =2  #define  OS_FLAG_WAIT_CLR_ANY      1        /* Wait for ANY of the bits specified to be CLR (i.e. 0)   */
  89      =2  #define  OS_FLAG_WAIT_CLR_OR       1
  90      =2  
  91      =2  #define  OS_FLAG_WAIT_SET_ALL      2        /* Wait for ALL    the bits specified to be SET (i.e. 1)   */ 
  92      =2  #define  OS_FLAG_WAIT_SET_AND      2
  93      =2  
  94      =2  #define  OS_FLAG_WAIT_SET_ANY      3        /* Wait for ANY of the bits specified to be SET (i.e. 1)   */
  95      =2  #define  OS_FLAG_WAIT_SET_OR       3
  96      =2  
  97      =2  
  98      =2  #define  OS_FLAG_CONSUME        0x80        /* Consume the flags if condition(s) satisfied             */
  99      =2  
 100      =2  
 101      =2  #define  OS_FLAG_CLR               0
 102      =2  #define  OS_FLAG_SET               1
 103      =2  
 104      =2  /*
 105      =2  *********************************************************************************************************
 106      =2  *       Possible values for 'opt' argument of OSSemDel(), OSMboxDel(), OSQDel() and OSMutexDel()
 107      =2  *********************************************************************************************************
 108      =2  */
 109      =2  #define  OS_DEL_NO_PEND            0
 110      =2  #define  OS_DEL_ALWAYS             1
 111      =2  
 112      =2  /*
 113      =2  *********************************************************************************************************
 114      =2  *                                     OS???PostOpt() OPTIONS
 115      =2  *
C51 COMPILER V8.08   SERIAL                                                                08/06/2008 16:11:38 PAGE 12  

 116      =2  * These #defines are used to establish the options for OSMboxPostOpt() and OSQPostOpt().
 117      =2  *********************************************************************************************************
 118      =2  */
 119      =2  #define  OS_POST_OPT_NONE       0x00        /* Post to highest priority task waiting                   */
 120      =2  #define  OS_POST_OPT_BROADCAST  0x01        /* Broadcast message to ALL tasks waiting                  */ 
             - 
 121      =2  #define  OS_POST_OPT_FRONT      0x02        /* Post to highest priority task waiting                   */
 122      =2  
 123      =2  /*
 124      =2  *********************************************************************************************************
 125      =2  *                                 TASK OPTIONS (see OSTaskCreateExt()) 
 126      =2  *********************************************************************************************************
 127      =2  */
 128      =2  #define  OS_TASK_OPT_STK_CHK  0x0001        /* Enable stack checking for the task                      */
 129      =2  #define  OS_TASK_OPT_STK_CLR  0x0002        /* Clear the stack when the task is create                 */
 130      =2  #define  OS_TASK_OPT_SAVE_FP  0x0004        /* Save the contents of any floating-point registers       */
 131      =2  
 132      =2  /*
 133      =2  *********************************************************************************************************
 134      =2  *                                             ERROR CODES
 135      =2  *********************************************************************************************************
 136      =2  */
 137      =2  #define OS_NO_ERR                 0
 138      =2  
 139      =2  #define OS_ERR_EVENT_TYPE         1
 140      =2  #define OS_ERR_PEND_ISR           2
 141      =2  #define OS_ERR_POST_NULL_PTR      3
 142      =2  #define OS_ERR_PEVENT_NULL        4
 143      =2  #define OS_ERR_POST_ISR           5
 144      =2  #define OS_ERR_QUERY_ISR          6
 145      =2  #define OS_ERR_INVALID_OPT        7
 146      =2  #define OS_ERR_TASK_WAITING       8
 147      =2  
 148      =2  #define OS_TIMEOUT               10
 149      =2  #define OS_TASK_NOT_EXIST        11
 150      =2  
 151      =2  #define OS_MBOX_FULL             20
 152      =2  
 153      =2  #define OS_Q_FULL                30
 154      =2  
 155      =2  #define OS_PRIO_EXIST            40
 156      =2  #define OS_PRIO_ERR              41
 157      =2  #define OS_PRIO_INVALID          42
 158      =2  
 159      =2  #define OS_SEM_OVF               50
 160      =2  
 161      =2  #define OS_TASK_DEL_ERR          60
 162      =2  #define OS_TASK_DEL_IDLE         61
 163      =2  #define OS_TASK_DEL_REQ          62
 164      =2  #define OS_TASK_DEL_ISR          63
 165      =2  
 166      =2  #define OS_NO_MORE_TCB           70
 167      =2  
 168      =2  #define OS_TIME_NOT_DLY          80
 169      =2  #define OS_TIME_INVALID_MINUTES  81
 170      =2  #define OS_TIME_INVALID_SECONDS  82
 171      =2  #define OS_TIME_INVALID_MILLI    83
 172      =2  #define OS_TIME_ZERO_DLY         84
 173      =2  
 174      =2  #define OS_TASK_SUSPEND_PRIO     90
 175      =2  #define OS_TASK_SUSPEND_IDLE     91
 176      =2  
C51 COMPILER V8.08   SERIAL                                                                08/06/2008 16:11:38 PAGE 13  

 177      =2  #define OS_TASK_RESUME_PRIO     100
 178      =2  #define OS_TASK_NOT_SUSPENDED   101
 179      =2  
 180      =2  #define OS_MEM_INVALID_PART     110
 181      =2  #define OS_MEM_INVALID_BLKS     111
 182      =2  #define OS_MEM_INVALID_SIZE     112
 183      =2  #define OS_MEM_NO_FREE_BLKS     113
 184      =2  #define OS_MEM_FULL             114
 185      =2  #define OS_MEM_INVALID_PBLK     115
 186      =2  #define OS_MEM_INVALID_PMEM     116
 187      =2  #define OS_MEM_INVALID_PDATA    117
 188      =2  #define OS_MEM_INVALID_ADDR     118
 189      =2  
 190      =2  #define OS_ERR_NOT_MUTEX_OWNER  120
 191      =2  
 192      =2  #define OS_TASK_OPT_ERR         130
 193      =2  
 194      =2  #define OS_ERR_DEL_ISR          140
 195      =2  #define OS_ERR_CREATE_ISR       141
 196      =2  
 197      =2  #define OS_FLAG_INVALID_PGRP    150
 198      =2  #define OS_FLAG_ERR_WAIT_TYPE   151
 199      =2  #define OS_FLAG_ERR_NOT_RDY     152
 200      =2  #define OS_FLAG_INVALID_OPT     153
 201      =2  #define OS_FLAG_GRP_DEPLETED    154
 202      =2  
 203      =2  /*
 204      =2  *********************************************************************************************************
 205      =2  *                                          EVENT CONTROL BLOCK
 206      =2  *********************************************************************************************************
 207      =2  */
 208      =2  
 209      =2  #if (OS_EVENT_EN > 0) && (OS_MAX_EVENTS > 0)
           =2 typedef struct {
           =2     INT8U   OSEventType;                   /* Type of event control block (see OS_EVENT_TYPE_???)      */
           =2     INT8U   OSEventGrp;                    /* Group corresponding to tasks waiting for event to occur  */
           =2     INT16U  OSEventCnt;                    /* Semaphore Count (not used if other EVENT type)           */
           =2     void   *OSEventPtr;                    /* Pointer to message or queue structure                    */
           =2     INT8U   OSEventTbl[OS_EVENT_TBL_SIZE]; /* List of tasks waiting for event to occur                 */
           =2 } OS_EVENT;
           =2 #endif
 218      =2  
 219      =2  
 220      =2  /*
 221      =2  *********************************************************************************************************
 222      =2  *                                       EVENT FLAGS CONTROL BLOCK
 223      =2  *********************************************************************************************************
 224      =2  */
 225      =2  
 226      =2  #if (OS_VERSION >= 251) && (OS_FLAG_EN > 0) && (OS_MAX_FLAGS > 0)
           =2 typedef struct {                            /* Event Flag Group                                        */
           =2     INT8U         OSFlagType;               /* Should be set to OS_EVENT_TYPE_FLAG                     */
           =2     void         *OSFlagWaitList;           /* Pointer to first NODE of task waiting on event flag     */
           =2     OS_FLAGS      OSFlagFlags;              /* 8, 16 or 32 bit flags                                   */
           =2 } OS_FLAG_GRP;    
           =2 
           =2     
           =2     
           =2 typedef struct {                            /* Event Flag Wait List Node                               */
           =2     void         *OSFlagNodeNext;           /* Pointer to next     NODE in wait list                   */
           =2     void         *OSFlagNodePrev;           /* Pointer to previous NODE in wait list                   */
           =2     void         *OSFlagNodeTCB;            /* Pointer to TCB of waiting task                          */ 
C51 COMPILER V8.08   SERIAL                                                                08/06/2008 16:11:38 PAGE 14  

             - 
           =2     void         *OSFlagNodeFlagGrp;        /* Pointer to Event Flag Group                             */ 
             - 
           =2     OS_FLAGS      OSFlagNodeFlags;          /* Event flag to wait on                                   */ 
             - 
           =2     INT8U         OSFlagNodeWaitType;       /* Type of wait:                                           */
           =2                                             /*      OS_FLAG_WAIT_AND                                   */
           =2                                             /*      OS_FLAG_WAIT_ALL                                   */
           =2                                             /*      OS_FLAG_WAIT_OR                                    */
           =2                                             /*      OS_FLAG_WAIT_ANY                                   */
           =2 } OS_FLAG_NODE;
           =2 #endif
 248      =2  
 249      =2  
 250      =2  /*
 251      =2  *********************************************************************************************************
 252      =2  *                                          MESSAGE MAILBOX DATA
 253      =2  *********************************************************************************************************
 254      =2  */
 255      =2  
 256      =2  #if OS_MBOX_EN > 0
           =2 typedef struct {
           =2     void   *OSMsg;                         /* Pointer to message in mailbox                            */
           =2     INT8U   OSEventTbl[OS_EVENT_TBL_SIZE]; /* List of tasks waiting for event to occur                 */
           =2     INT8U   OSEventGrp;                    /* Group corresponding to tasks waiting for event to occur  */
           =2 } OS_MBOX_DATA;
           =2 #endif
 263      =2  
 264      =2  /*
 265      =2  *********************************************************************************************************
 266      =2  *                                     MEMORY PARTITION DATA STRUCTURES
 267      =2  *********************************************************************************************************
 268      =2  */
 269      =2  
 270      =2  #if (OS_MEM_EN > 0) && (OS_MAX_MEM_PART > 0)
           =2 typedef struct {                       /* MEMORY CONTROL BLOCK                                         */
           =2     void   *OSMemAddr;                 /* Pointer to beginning of memory partition                     */
           =2     void   *OSMemFreeList;             /* Pointer to list of free memory blocks                        */
           =2     INT32U  OSMemBlkSize;              /* Size (in bytes) of each block of memory                      */
           =2     INT32U  OSMemNBlks;                /* Total number of blocks in this partition                     */
           =2     INT32U  OSMemNFree;                /* Number of memory blocks remaining in this partition          */
           =2 } OS_MEM;
           =2 
           =2 
           =2 typedef struct {
           =2     void   *OSAddr;                    /* Pointer to the beginning address of the memory partition     */
           =2     void   *OSFreeList;                /* Pointer to the beginning of the free list of memory blocks   */
           =2     INT32U  OSBlkSize;                 /* Size (in bytes) of each memory block                         */
           =2     INT32U  OSNBlks;                   /* Total number of blocks in the partition                      */
           =2     INT32U  OSNFree;                   /* Number of memory blocks free                                 */
           =2     INT32U  OSNUsed;                   /* Number of memory blocks used                                 */
           =2 } OS_MEM_DATA;
           =2 #endif
 289      =2  
 290      =2  /*
 291      =2  *********************************************************************************************************
 292      =2  *                                    MUTUAL EXCLUSION SEMAPHORE DATA
 293      =2  *********************************************************************************************************
 294      =2  */
 295      =2  
 296      =2  #if OS_MUTEX_EN > 0
           =2 typedef struct {
C51 COMPILER V8.08   SERIAL                                                                08/06/2008 16:11:38 PAGE 15  

           =2     INT8U   OSEventTbl[OS_EVENT_TBL_SIZE];  /* List of tasks waiting for event to occur                */
           =2     INT8U   OSEventGrp;                     /* Group corresponding to tasks waiting for event to occur */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -