📄 yy1.lst
字号:
299 =2
300 =2 OS_EXT idata BOOLEAN OSRunning; /* Flag indicating that kernel is running */
301 =2
302 =2 #if OS_TASK_CREATE_EN || OS_TASK_CREATE_EXT_EN || OS_TASK_DEL_EN
303 =2 OS_EXT INT8U OSTaskCtr; /* Number of tasks created */
304 =2 #endif
305 =2
306 =2 OS_EXT idata OS_TCB *OSTCBCur; /* Pointer to currently running TCB *
-/
307 =2 OS_EXT OS_TCB *OSTCBFreeList; /* Pointer to list of free TCBs *
-/
308 =2 OS_EXT idata OS_TCB *OSTCBHighRdy; /* Pointer to highest priority TCB ready to run *
-/
309 =2 OS_EXT OS_TCB *OSTCBList; /* Pointer to doubly linked list of TCBs *
-/
310 =2 OS_EXT OS_TCB *OSTCBPrioTbl[OS_LOWEST_PRIO + 1];/* Table of pointers to created TCBs *
-/
311 =2
312 =2 OS_EXT INT32U OSTime; /* Current value of system time (in ticks) */
313 =2
314 =2
315 =2 extern INT8U const OSMapTbl[]; /* Priority->Bit Mask lookup table */
C51 COMPILER V7.01 YY1 01/09/2003 18:37:29 PAGE 9
316 =2 extern INT8U const OSUnMapTbl[]; /* Priority->Index lookup table */
317 =2
318 =2 /*$PAGE*/
319 =2 /*
320 =2 *********************************************************************************************************
321 =2 * FUNCTION PROTOTYPES
322 =2 * (Target Independant Functions)
323 =2 *********************************************************************************************************
324 =2 */
325 =2
326 =2 /*
327 =2 *********************************************************************************************************
328 =2 * MESSAGE MAILBOX MANAGEMENT
329 =2 *********************************************************************************************************
330 =2 */
331 =2 #if OS_MBOX_EN
=2 void *OSMboxAccept(OS_EVENT *pevent) ;
=2 OS_EVENT *OSMboxCreate(void *msg) ;
=2 void *OSMboxPend(OS_EVENT *pevent, INT16U timeout, INT8U *err) ;
=2 INT8U OSMboxPost(OS_EVENT *pevent, void *msg) ;
=2 INT8U OSMboxQuery(OS_EVENT *pevent, OS_MBOX_DATA *ppdata) ;
=2 #endif
338 =2 /*
339 =2 *********************************************************************************************************
340 =2 * MEMORY MANAGEMENT
341 =2 *********************************************************************************************************
342 =2 */
343 =2 #if OS_MEM_EN && (OS_MAX_MEM_PART >= 2)
=2 OS_MEM *OSMemCreate(void *addr, INT32U nblks, INT32U blksize, INT8U *err) ;
=2 void *OSMemGet(OS_MEM *pmem, INT8U *err) ;
=2 INT8U OSMemPut(OS_MEM *pmem, void *pblk) ;
=2 INT8U OSMemQuery(OS_MEM *pmem, OS_MEM_DATA *ppdata) ;
=2 #endif
349 =2 /*
350 =2 *********************************************************************************************************
351 =2 * MESSAGE QUEUE MANAGEMENT
352 =2 *********************************************************************************************************
353 =2 */
354 =2 #if OS_Q_EN && (OS_MAX_QS >= 2)
=2 void *OSQAccept(OS_EVENT *pevent) ;
=2 OS_EVENT *OSQCreate(void **start, INT16U size) ;
=2 INT8U OSQFlush(OS_EVENT *pevent) ;
=2 void *OSQPend(OS_EVENT *pevent, INT16U timeout, INT8U *err) ;
=2 INT8U OSQPost(OS_EVENT *pevent, void *msg) ;
=2 INT8U OSQPostFront(OS_EVENT *pevent, void *msg) ;
=2 INT8U OSQQuery(OS_EVENT *pevent, OS_Q_DATA *ppdata) ;
=2 #endif
363 =2 /*$PAGE*/
364 =2 /*
365 =2 *********************************************************************************************************
366 =2 * SEMAPHORE MANAGEMENT
367 =2 *********************************************************************************************************
368 =2 */
369 =2 #if OS_SEM_EN
370 =2 INT16U OSSemAccept(OS_EVENT *pevent) ;
371 =2 OS_EVENT *OSSemCreate(INT16U value) ;
372 =2 void OSSemPend(OS_EVENT *pevent, INT16U timeout, INT8U *err) ;
373 =2 INT8U OSSemPost(OS_EVENT *pevent) ;
374 =2 INT8U OSSemQuery(OS_EVENT *pevent, OS_SEM_DATA *ppdata) ;
375 =2 #endif
376 =2 /*
377 =2 *********************************************************************************************************
C51 COMPILER V7.01 YY1 01/09/2003 18:37:29 PAGE 10
378 =2 * TASK MANAGEMENT
379 =2 *********************************************************************************************************
380 =2 */
381 =2 #if OS_TASK_CHANGE_PRIO_EN
=2 INT8U OSTaskChangePrio(INT8U oldprio, INT8U newprio) ;
=2 #endif
384 =2
385 =2 INT8U OSTaskCreate(void (*task)(void *pd), void *ppdata, OS_STK *ptos, INT8U prio) ;
386 =2
387 =2 #if OS_TASK_CREATE_EXT_EN
=2 INT8U OSTaskCreateExt(void (*task)(void *pd),
=2 void *ppdata,
=2 OS_STK *ptos,
=2 INT8U prio,
=2 INT16U id,
=2 OS_STK *pbos,
=2 INT32U stk_size,
=2 void *pext,
=2 INT16U opt) ;
=2 #endif
398 =2
399 =2 #if OS_TASK_DEL_EN
=2 INT8U OSTaskDel(INT8U prio) ;
=2 INT8U OSTaskDelReq(INT8U prio) ;
=2 #endif
403 =2
404 =2 #if OS_TASK_SUSPEND_EN
=2 INT8U OSTaskResume(INT8U prio) ;
=2 INT8U OSTaskSuspend(INT8U prio) ;
=2 #endif
408 =2
409 =2 #if OS_TASK_CREATE_EXT_EN
=2 INT8U OSTaskStkChk(INT8U prio, OS_STK_DATA *ppdata) ;
=2 #endif
412 =2
413 =2 INT8U OSTaskQuery(INT8U prio, OS_TCB *ppdata) ;
414 =2
415 =2 /*
416 =2 *********************************************************************************************************
417 =2 * TIME MANAGEMENT
418 =2 *********************************************************************************************************
419 =2 */
420 =2 void OSTimeDly(INT16U ticks) ;
421 =2 INT8U OSTimeDlyHMSM(INT8U hours, INT8U minutes, INT8U seconds, INT16U milli) ;
422 =2 INT8U OSTimeDlyResume(INT8U prio) ;
423 =2 INT32U OSTimeGet(void) ;
424 =2 void OSTimeSet(INT32U ticks) ;
425 =2 void OSTimeTick(void) ;
426 =2
427 =2 /*
428 =2 *********************************************************************************************************
429 =2 * MISCELLANEOUS
430 =2 *********************************************************************************************************
431 =2 */
432 =2
433 =2 void OSInit(void) ;
434 =2
435 =2 void OSIntEnter(void) ;
436 =2 void OSIntExit(void) ;
437 =2
438 =2 void OSSchedLock(void) ;
439 =2 void OSSchedUnlock(void) ;
C51 COMPILER V7.01 YY1 01/09/2003 18:37:29 PAGE 11
440 =2
441 =2 void OSStart(void) ;
442 =2
443 =2 void OSStatInit(void) ;
444 =2
445 =2 INT16U OSVersion(void) ;
446 =2
447 =2 /*$PAGE*/
448 =2 /*
449 =2 *********************************************************************************************************
450 =2 * INTERNAL FUNCTION PROTOTYPES
451 =2 * (Your application MUST NOT call these functions)
452 =2 *********************************************************************************************************
453 =2 */
454 =2
455 =2 #if OS_MBOX_EN || OS_Q_EN || OS_SEM_EN
456 =2 void OSEventTaskRdy(OS_EVENT *pevent, void *msg, INT8U msk) ;
457 =2 void OSEventTaskWait(OS_EVENT *pevent) ;
458 =2 void OSEventTO(OS_EVENT *pevent) ;
459 =2 void OSEventWaitListInit(OS_EVENT *pevent) ;
460 =2 #endif
461 =2
462 =2 #if OS_MEM_EN && (OS_MAX_MEM_PART >= 2)
=2 void OSMemInit(void) ;
=2 #endif
465 =2
466 =2 #if OS_Q_EN
=2 void OSQInit(void) ;
=2 #endif
469 =2
470 =2 void OSSched(void) ;
471 =2
472 =2 void OSTaskIdle(void *ddata) ;
473 =2
474 =2 #if OS_TASK_STAT_EN
=2 void OSTaskStat(void *ddata) ;
=2 #endif
477 =2
478 =2 INT8U OSTCBInit(INT8U prio, OS_STK *ptos, OS_STK *pbos, INT16U id, INT16U stk_size, void *pext, INT1
-6U opt) ;
479 =2
480 =2 /*$PAGE*/
481 =2 /*
482 =2 *********************************************************************************************************
483 =2 * FUNCTION PROTOTYPES
484 =2 * (Target Specific Functions)
485 =2 *********************************************************************************************************
486 =2 */
487 =2
488 =2 void OSCtxSw(void);
489 =2
490 =2 void OSIntCtxSw(void);
491 =2
492 =2 void OSStartHighRdy(void);
493 =2
494 =2 void OSTaskCreateHook(OS_TCB *ptcb) ;
495 =2 void OSTaskDelHook(OS_TCB *ptcb) ;
496 =2 void OSTaskStatHook(void) ;
497 =2 void *OSTaskStkInit(void (*task)(void *pd), void *ppdata, void *ptos, INT16U opt) ;
498 =2 void OSTaskSwHook(void) ;
499 =2
500 =2 void OSTickISR(void);
C51 COMPILER V7.01 YY1 01/09/2003 18:37:29 PAGE 12
501 =2
502 =2 void OSTimeTickHook(void) ;
503 =2
504 =2 //Hard timer
505 =2 void InitTimer0(void) ;
22 =1
23 =1 //系统显示
24 =1 #include <serial.h>
1 =2 /*
2 =2 *********************************************************************************************************
3 =2 * uC/OS-II
4 =2 * 实时内核
5 =2 *
6 =2 * (c) Copyright 1992-1998, Jean J. Labrosse, Plantation, FL
7 =2 * 版权所有
8 =2 *
9 =2 * MCU-51 专用代码
10 =2 * KEIL C51大模式编译
11 =2 *
12 =2 * 文件名 : SERIAL.H
13 =2 * 作者 : Jean J. Labrosse
14 =2 * 改编 : 杨屹 gdtyy@ri.gdt.com.cn 巨龙公司系统集成开发部 2002.09.27
15 =2 *********************************************************************************************************
16 =2 */
17 =2
18 =2 //**********************************************************************************
19 =2 //杨屹 2002/08/20 第一版
20 =2 //基于中断的串口驱动及显示程序
21 =2 //联系方法:gdtyy@ri.gdt.com.cn(2003/07/31以前有效)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -