📄 main.lst
字号:
137 * Arguments : None.
138 * Returns : None.
139 * Note :
140 ********************************************************************************
141 */
142 void Init8051(void)
143 {
144 1 EA = 0; // Disable all interrupts
145 1 CKCON = 0x01; // X2 Mode
146 1 IT0 = 0; // interrupt level trigger
147 1 EX0 = 1; // INT 0 enable
148 1 EX1 = 0; // INT 1 disable
149 1 EA = 1; // Enable all interrupts
150 1 InitSerial(); // Initialize serial port (Refer to serial.c)
151 1 wait_10ms(1);
152 1 }
153
154 /*
155 ********************************************************************************
156 * Re-initialization function for the disconnected channel.
157 *
158 * Description: Wait in server mode after re-initialization for the disconnected channel.
159 * Arguments : None.
160 * Returns : None.
161 * Note :
162 ********************************************************************************
163 */
164 void init_sock(u_char i)
165 {
166 1 // printf("socket : ");
167 1 PutString("socket : ");
168 1 socket(i, SOCK_STREAM, 5000, 0); // socket creation
169 1 // printf("%bd ok\r\n",i);
170 1 PutHTOA(i);PutStringLn("");
171 1
172 1 // printf("listen : ");
C51 COMPILER V8.02 MAIN 10/17/2006 16:52:41 PAGE 4
173 1 PutString("listen : ");
174 1 NBlisten(i); // Server Mode
175 1 // printf("%bd ok..\r\n", i);
176 1 PutHTOA(i);PutStringLn("");
177 1 }
178
179 /*
180 ********************************************************************************
181 * Description: Setup network ( Source IP, G/W, S/N, MAC Address ) information
182 * Arguments : None.
183 * Returns : None.
184 * Note :
185 ********************************************************************************
186 */
187 void InitNetConfig(void)
188 {
189 1 int i, j;
190 1 char c;
191 1 u_char xdata ip[6]; // Variable for setting up network information
192 1 u_char xdata ipstr[16];
193 1 un_l2cval tip;
194 1 if(!Check_EEPROM())
195 1 {
196 2 ip[0] = 0x00; ip[1] = 0x08; ip[2] = 0xDC; ip[3] = 0x00; ip[4] = 0x00; ip[5] = 0x00; // ETC.
197 2 setMACAddr(ip); // Setup MAC
198 2 ip[0] = 192; ip[1] = 168; ip[2] = 0; ip[3] = 2; // VPN Env.
199 2 setIP(ip); // Setup source IP
200 2 ip[3] = 1; // VPN , Develope Env.
201 2 setgateway(ip); // Setup gateway address
202 2 ip[0] = 255; ip[1] = 255; ip[2] = 255; ip[3] = 0;
203 2 setsubmask(ip); // Setup subnet mask
204 2 }
205 1 else
206 1 {
207 2 ClrScr();
208 2 GotoXY(0,0);
209 2 Puts(" < NET CONFIG > ");
210 2 T0 = 0;
211 2 T1 = 1;
212 2
213 2 EEP_ReadBytes(GIPADDR,tip.cVal,4); // If IP address wasn't set up in EEPROM, setup initial netwo
-rk configuration.
214 2 if(tip.lVal == 0 || tip.lVal == (0-1)) // If Gateway Address is 00.00.00.00 or ff.ff.ff.ff
215 2 {
216 3 PutString("Setting Initial Network Configuration ...");PutStringLn("");PutStringLn("");
217 3 ip[0] = 0x00; ip[1] = 0x08; ip[2] = 0xDC; ip[3] = 0x00; ip[4] = 0x00; ip[5] = 0x00; // etc.
218 3 setMACAddr(ip); // Setup MAC
219 3 ip[0] = 192; ip[1] = 168; ip[2] = 0; ip[3] = 2; // VPN Env.
220 3 setIP(ip); // Setup source IP
221 3 ip[3] = 1; // VPN , Develope Env.
222 3 setgateway(ip); // Setup gateway address
223 3 ip[0] = 255; ip[1] = 255; ip[2] = 255; ip[3] = 0;
224 3 setsubmask(ip);
225 3 Config_Save('A');
226 3 }
227 2
228 2 PutString("Press 'C' Key To Update Network Configuration");
229 2 GotoXY(0,1);
230 2 for(i = 0; i < 16; i++)
231 2 {
232 3 for( j = 0 ; j < 50 ; j++)
233 3 {
C51 COMPILER V8.02 MAIN 10/17/2006 16:52:41 PAGE 5
234 4 if(IsPressedKey() == 1)
235 4 {
236 5 c = GetByte();PutStringLn("");
237 5 if(c == 'C' || c == 'c')
238 5 {
239 6 Configure();
240 6 c = '*';
241 6 break;
242 6 }
243 5 else if(c== 0x1B) // Escape Character
244 5 {
245 6 c = '*';
246 6 break;
247 6 }
248 5 }
249 4 wait_1ms(2);
250 4 }
251 3 if(c == '*') break;
252 3 T0 = !T0; // LED TOGGLE
253 3 T1 = !T1;
254 3 Putch(0xFF);
255 3 PutByte('.');
256 3 }
257 2 PutStringLn("");
258 2 Config_Load();
259 2 }
260 1 GetNetConfig(); // Display network information
261 1 sysinit(0x55,0x55);
262 1 ClrScr();
263 1 GotoXY(0,0);
264 1 Puts(" < TCP SERVER > ");
265 1 GotoXY(1,1);
266 1 GetIPAddress(ip);
267 1 inet_ntoa(ip,ipstr); // Output IP Address on LCD
268 1 Puts(ipstr);
269 1 T0 = 0; // LED0 ON
270 1 T1 = 0; // LED1 ON
271 1 }
272
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 994 ----
CONSTANT SIZE = 632 ----
XDATA SIZE = ---- 22
PDATA SIZE = ---- ----
DATA SIZE = 2 13
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 + -