📄 main.lst
字号:
C51 COMPILER V7.07 MAIN 04/20/2004 18:04:40 PAGE 1
C51 COMPILER V7.07, COMPILATION OF MODULE MAIN
OBJECT MODULE PLACED IN .\out\main.obj
COMPILER INVOKED BY: F:\Keil\C51\BIN\C51.EXE src\main.c BROWSE DEBUG OBJECTEXTEND PRINT(.\lst\main.lst) OBJECT(.\out\mai
-n.obj)
stmt level source
1 /*
2 * Copyright (C) 2002 by TechiZ. All rights reserved.
3 *
4 * This program was written in Korean(Comment and some more).
5 *
6 * This program was developed by TechiZ(The Company name).
7 * TechiZ want to share this program with you who loves the 8051 & the TCP/IP.
8 *
9 * You MUST DOWNLOAD THIS CODE from TechiZ Homepage.
10 * You DO NOT USE THIS CODE FOR COMMERCIAL PURPOSE.
11 * This code is ONLY FREE FOR THE STUDY.
12 * If you want more, send me E-mail.
13 *
14 * E-mail: techiz@techiz.com
15 * ( Subject is : [T89C51RD2 & TinyTCP] bla~ bla bla.... )
16 *
17 * Homepage: http://www.techiz.com
18 *
19 * You DO NOT DELETE THIS COPYRIGHT MESSAGE IN THE USING OF THIS CODE.
20 *
21 * In the using of this code, TechiZ does NOT GUARANTEE ABOUT WORKING WITHOUT ERROR.
22 */
23
24 #include <aduc812.h>
*** WARNING C318 IN LINE 24 OF src\main.c: can't open file 'aduc812.h'
25 #include <stdio.h>
26 #include <stdlib.h>
27 #include <string.h>
28 #include "reg_8019.h"
29 #include "depend.h"
30 #include "global.h"
31 #include "proto.h"
32
33 /*****************************************************************************/
34 /* Debug Mode */
35 /*****************************************************************************/
36 //#define STRING_TEST /* sizeof(data type) */
37 //#define RECEIVE_STATUS
38 //#define RTL8019AS_ID_CHECK
39 #define RECEIVE_TEST
40
41 /*****************************************************************************/
42 /* Global variable */
43 /*****************************************************************************/
44
45 byte EthRxBuf[NBUF][SBUFSIZ];
46 byte EthTxBuf[BUFSIZ];
47
48 union t { /* time out variable for interrupt */
49 word hl;
50 byte reg[2];
51 word watchdog_counter;
52 }time[2];
53
C51 COMPILER V7.07 MAIN 04/20/2004 18:04:40 PAGE 2
54
55 /*****************************************************************************/
56 /* Main routine start */
57 /*****************************************************************************/
58
59 void main(void)
60 {
61 1
62 1 system_init();
63 1 //ethernet_init();
64 1 print_logo();
65 1 print("\n\rInitialize OK ..");
66 1 while(1){
67 2 //EN_CMD = EN_PAGE0 + EN_NODMA + EN_START;
68 2 print("\n\r'Y2K.11.20:\\>");
69 2 switch(get_serial_echo()){
70 3 case '0': output_port0();break;
71 3 case '1': output_port1();break;
72 3 case '2': output_port2();break;
73 3 case '3': output_port3();break;
74 3 case '4': ethernet_register_test();break;
75 3 case 'c':
76 3 case 'C': clear_external_ram();break;
77 3 case 'd': dump_auto = 1;
78 3 dump_memory();break;
79 3 case 'D': dump_auto = 0;
80 3 dump_memory();break;
81 3 case 'H':
82 3 case 'h':
83 3 case '?': help_message();break;
84 3 case 'i':
85 3 case 'I': input_port1();break;
86 3 case ':': loading_ready = 1;
87 3 case 'L':
88 3 case 'l': loading_program();break;
89 3 case 'q':
90 3 case 'Q': quit_program();break;
91 3 case 'r':
92 3 case 'R': reset();break;
93 3 case 's':
94 3 case 'S': ethernet_address();break;
95 3 case 't':
96 3 case 'T': tiny_tcp_main();break;
97 3 case '$': ethernet_test();break;
98 3 case 'Z':
99 3 case 'z': DoS();break;
100 3 default : break;
101 3 }
102 2 }
103 1 }
104
105
106
107 /*****************************************************************************/
108 /* INTERRUPT SERVICE ROUTINE */
109 /*****************************************************************************/
110
111 void RTL8019AS_INT0() interrupt 0 /* External Interrupt 0 */
112 {
113 1 /* you have to use data(Internal RAM) to access faster */
114 1 /* ENISR_ALL value must be modified when you detect error or success and so on.. */
115 1 byte e_isr;
C51 COMPILER V7.07 MAIN 04/20/2004 18:04:40 PAGE 3
116 1
117 1 disable(); /* EA = 0 global interrupt flag disable */
*** ERROR C202 IN LINE 117 OF SRC\MAIN.C: 'EA': undefined identifier
118 1
119 1 e_isr = EN0_ISR;
120 1 P1_1 = !P1_1; /* When it go into interrupt routine, this bit changes 1 and 0 */
*** ERROR C202 IN LINE 120 OF SRC\MAIN.C: 'P1_1': undefined identifier
121 1 time[0].watchdog_counter = 0; /* clear to zero to inhibit watchdog */
122 1
123 1 EN_CMD = EN_PAGE0 + EN_NODMA;
124 1
125 1 if ( e_isr & ( ENISR_OVER ) ) { /* Receiver overwrote the ring */
126 2 ei_rx_overrun();
127 2 }
128 1 else if ( e_isr & (ENISR_RX) ) { /* Receive without error */
129 2 #ifdef RECEIVE_TEST
130 2 ei_receive();
131 2 #elif
receive_test();
#endif
134 2 EN0_ISR = ENISR_RX;
135 2 }
136 1 if ( e_isr & ENISR_RX_ERR ) {
137 2 /* Receiver with error(CRC, frame aligement,FIFO overflow, receive packet failure */
138 2 //print_int("\n\rReceive error..");
139 2 EN0_ISR = ENISR_RX_ERR;
140 2 }
141 1 if ( e_isr & ( ENISR_TX ) ) { /* Transmit without error */
142 2 //print_int("\n\rTx OK!");
143 2 EN0_ISR = ENISR_TX;
144 2 }
145 1 if ( e_isr & ( ENISR_TX_ERR ) ) { /* Transmit with error(collision, FIFO underrun) */
146 2 //print_int("\n\rTx error..");
147 2 EN0_ISR = ENISR_TX_ERR; /* ? */
148 2 }
149 1 if ( e_isr & ( ENISR_COUNTERS ) ) {
150 2 //print_int("\n\rCounter error..");
151 2 rx_frame_errors += EN0_COUNTER0;
152 2 rx_crc_errors += EN0_COUNTER1;
153 2 rx_missed_errors += EN0_COUNTER2;
154 2 EN0_ISR = ENISR_COUNTERS; /* Counters need emptying */
155 2 }
156 1 if ( e_isr & ( ENISR_RDC ) ) { /* Remote DMA complete */
157 2 EN0_ISR = ENISR_RDC;
158 2 }
159 1
160 1
161 1 EN_CMD = EN_PAGE0 + EN_NODMA + EN_START;
162 1 EN0_ISR = 0xff;
163 1
164 1 //EN0_ISR = ENISR_ALL;
165 1 enable(); /* EA = 1 global interrupt flag enable */
*** ERROR C202 IN LINE 165 OF SRC\MAIN.C: 'EA': undefined identifier
166 1 }
167
168 void TIMEOUT_T0_INT() interrupt 1
169 {
170 1 T0 = !T0; /* T0 pin */
*** ERROR C202 IN LINE 170 OF SRC\MAIN.C: 'T0': undefined identifier
171 1 clock_MS++; /* I don't know yet ??*/
172 1 TH0 = time[0].reg[0]; /* <-- TIMER0_INTERVAL_HIGH_BYTE */
*** ERROR C202 IN LINE 172 OF SRC\MAIN.C: 'TH0': undefined identifier
C51 COMPILER V7.07 MAIN 04/20/2004 18:04:40 PAGE 4
173 1 TL0 = time[0].reg[1]; /* <-- TIMER0_INTERVAL_LOW_BYTE */
*** ERROR C202 IN LINE 173 OF SRC\MAIN.C: 'TL0': undefined identifier
174 1
175 1 if (time[0].watchdog_counter > WATCHDOG){
176 2 time[0].watchdog_counter = 0;
177 2 //print_int("S");
178 2 //ethernet_init();
179 2 //print_int("\n\rWatchDog bowwow~!!");
180 2 }
181 1 else{
182 2 time[0].watchdog_counter += 1;
183 2 }
184 1 }
C51 COMPILATION COMPLETE. 1 WARNING(S), 6 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -