📄 main.lst
字号:
C51 COMPILER V7.06 MAIN 01/08/2008 20:10:18 PAGE 1
C51 COMPILER V7.06, COMPILATION OF MODULE MAIN
OBJECT MODULE PLACED IN main.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE main.c LARGE BROWSE DEBUG OBJECTEXTEND
stmt level source
1 /*******************************************************************************************
2 * 王月涛移植uc/os 成功范例
3 2007年8月
4 *******************************************************************************************/
5
6 #include <includes.h>
7 //#include <uip_client.h>
8
9 void Task1(void *ppdata) reentrant;
10 void Task2(void *ppdata) reentrant;
11 void Task3(void *ppdata) reentrant;
12 void uip_client(void *client) reentrant;
13 void uip_server(void *ppdata) reentrant;
14
15 OS_STK Task1Stk[MaxStkSize];//注意:我在ASM文件中设置?STACK空间为40H即64。
16 OS_STK Task3Stk[MaxStkSize];
17 OS_STK Task2Stk[MaxStkSize];
18 OS_STK uip_client_stk[MaxStkSize];
19 OS_STK uip_server_stk[MaxStkSize];
20
21 void main(void)
22 {
23 1 OSInit();
24 1
25 1 InitTimer0();
26 1 InitSerial();
27 1 InitSerialBuffer();
28 1
29 1 OSTaskCreate(Task1, (void *)0, &Task1Stk[0],1);
30 1 OSTaskCreate(Task2, (void *)0, &Task2Stk[0],2);
31 1 OSTaskCreate(Task3, (void *)0, &Task3Stk[0],3);
32 1 //OSTaskCreate(uip_client,(void*)0,&uip_client_stk[0],1);
33 1 //OSTaskCreate(uip_server,(void*)0,&uip_server_stk[0],2);
34 1
35 1
36 1 OSStart();
37 1 }
38
39
40 void Task1(void *ppdata) reentrant
41 {
42 1 ppdata=ppdata;
43 1
44 1 //注意!在最高优先级任务循环前打开定时器中断,以满足在OSStart()前不产生中断的要求。
45 1 //在系统调用OSInit()时会自动创建一个优先级最低的系统任务,创建过程中会调用OS_EXIT_CRITICAL()打开EA
-。
46 1 //若在InitTimer0()里打开T0中断,则违反了在OSStart()前不产生中断的要求。
47 1 //切记将ET0=1;放在最高优先级任务里,OSStart()将调用OSStartHighRdy()第一个运行最高优先级任务,这样ET0=1
-总能被第一个执行。
48 1 ET0=1;
49 1
50 1 clrscr();
51 1 PrintStr("\n\t\t*******************************\n");
52 1 PrintStr("\t\t* Hello! The world. this is wang yue tao paper *\n");
53 1 PrintStr("\t\t*******************************\n\n\n");
C51 COMPILER V7.06 MAIN 01/08/2008 20:10:18 PAGE 2
54 1
55 1 for(;;){
56 2 PrintStr("\t\t\tThis is Task1.wang yue tao 2007.08.8051 IP CORE test\n");
57 2 OSTimeDly(OS_TICKS_PER_SEC);
58 2 }
59 1 }
60
61 void Task2(void *ppdata) reentrant
62 {
63 1 ppdata=ppdata;
64 1
65 1 for(;;){
66 2 PrintStr("\t\t\t\tThis is Task2 wang yue tao 2007.08.8051 IP CORE test\n");
67 2 OSTimeDly(OS_TICKS_PER_SEC);
68 2 }
69 1 }
70
71 void Task3(void *ppdata) reentrant
72 {
73 1 ppdata=ppdata;
74 1
75 1 for(;;){
76 2 PrintStr("\t\t\t\t\tThis is Task3.wang yue tao 2007.08.8051 IP CORE test\n");
77 2 OSTimeDly(2*OS_TICKS_PER_SEC);
78 2 }
79 1 }
80
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 397 ----
CONSTANT SIZE = 302 ----
XDATA SIZE = 4500 ----
PDATA SIZE = ---- ----
DATA SIZE = ---- ----
IDATA SIZE = ---- ----
BIT SIZE = ---- ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -