📄 test.lst
字号:
C51 COMPILER V7.10 TEST 09/04/2007 10:27:39 PAGE 1
C51 COMPILER V7.10, COMPILATION OF MODULE TEST
OBJECT MODULE PLACED IN test.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE test.c LARGE BROWSE DEBUG OBJECTEXTEND SRC(.\test.SRC)
line level source
1 #include <includes.h>
2
3 void TaskStartyya(void *yydata) reentrant;
4 void TaskStartyyb(void *yydata) reentrant;
5 void TaskStartyyc(void *yydata) reentrant;
6 void TaskStartwatchdog(void *yydata) reentrant;
7
8 OS_STK TaskStartStkyya[MaxStkSize];//注意:我在ASM文件中设置?STACK空间为40H即64。
9 OS_STK TaskStartStkyyb[MaxStkSize];
10 OS_STK TaskStartStkyyc[MaxStkSize];
11 OS_STK TaskStartStkwatchdog[MaxStkSize];
12
13 void main(void)
14 {
15 1 OSInit();
16 1
17 1 InitTimer0();
18 1 InitSerial();
19 1 InitSerialBuffer();
20 1
21 1 OSTaskCreate(TaskStartwatchdog, (void *)0, &TaskStartStkwatchdog[0],2);
22 1 OSTaskCreate(TaskStartyya, (void *)0, &TaskStartStkyya[0],3);
23 1 OSTaskCreate(TaskStartyyb, (void *)0, &TaskStartStkyyb[0],4);
24 1 OSTaskCreate(TaskStartyyc, (void *)0, &TaskStartStkyyc[0],5);
25 1
26 1 OSStart();
27 1 }
28
29 void TaskStartwatchdog(void *yydata) reentrant
30 {
31 1 yydata=yydata;
32 1 for(;;)
33 1 {
34 2 P4=P4&0xF8;
*** ERROR C202 IN LINE 34 OF TEST.C: 'P4': undefined identifier
35 2 P4=P4|0x07;
*** ERROR C202 IN LINE 35 OF TEST.C: 'P4': undefined identifier
36 2 P4=P4&0xF2;
*** ERROR C202 IN LINE 36 OF TEST.C: 'P4': undefined identifier
37 2 OSTimeDly(OS_TICKS_PER_SEC);
38 2 }
39 1 }
40
41
42 void TaskStartyya(void *yydata) reentrant
43 {
44 1 yydata=yydata;
45 1
46 1 //注意!在最高优先级任务循环前打开定时器中断,以满足在OSStart()前不产生中断的要求。
47 1 //在系统调用OSInit()时会自动创建一个优先级最低的系统任务,创建过程中会调用OS_EXIT_CRITICAL()打开EA
-。
48 1 //若在InitTimer0()里打开T0中断,则违反了在OSStart()前不产生中断的要求。
49 1 //切记将ET0=1;放在最高优先级任务里,OSStart()将调用OSStartHighRdy()第一个运行最高优先级任务,这样ET0=1
-总能被第一个执行。
50 1 ET0=1;
C51 COMPILER V7.10 TEST 09/04/2007 10:27:39 PAGE 2
51 1
52 1 clrscr();
53 1 PrintStr("\n\t\t*******************************\n");
54 1 PrintStr("\t\t* Hello! csz *\n");
55 1 PrintStr("\t\t*******************************\n\n\n");
56 1
57 1 for(;;){
58 2 PrintStr("\tAAAAAA111111 is active.\n");
59 2
60 2 OSTimeDly(OS_TICKS_PER_SEC);
61 2
62 2 }
63 1 }
64
65 void TaskStartyyb(void *yydata) reentrant
66 {
67 1 yydata=yydata;
68 1
69 1 for(;;){
70 2 PrintStr("\tBBBBBB333333 is active.\n");
71 2 OSTimeDly(3*OS_TICKS_PER_SEC);
72 2 }
73 1 }
74
75 void TaskStartyyc(void *yydata) reentrant
76 {
77 1 yydata=yydata;
78 1
79 1 for(;;){
80 2 PrintStr("\tCCCCCC666666 is active.\n");
81 2 OSTimeDly(6*OS_TICKS_PER_SEC);
82 2 }
83 1 }
C51 COMPILATION COMPLETE. 0 WARNING(S), 3 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -