📄 serial.lst
字号:
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 + -