?? slipdev.lst
字號:
C51 COMPILER V7.08 SLIPDEV 12/26/2003 07:27:16 PAGE 1
C51 COMPILER V7.08, COMPILATION OF MODULE SLIPDEV
OBJECT MODULE PLACED IN Slipdev.OBJ
COMPILER INVOKED BY: C:\Keil708\C51\BIN\C51.EXE Slipdev.c LARGE BROWSE DEBUG OBJECTEXTEND
line level source
1
2 #include "uip.h"
3 #include "uip_arp.h"
4 #include "uipopt.h"
5 #include "my.h"
6 #include "serial.h"
7
8 #define SLIP_END 0xc0
9 #define SLIP_ESC 0xdb
10 #define SLIP_ESC_END 0xdc
11 #define SLIP_ESC_ESC 0xdd
12
13 #define MAX_SIZE UIP_BUFSIZE
14
15 #define SIO_RECV(c) while( getchar(&c)==0)
16 #define SIO_SEND(c) while( putchar(c) ==0)
17
18 void
19 slipdev_send(void)
20 {
21 1 #if MAX_SIZE >= 256
22 1 u16_t i;
23 1 #else
u8_t i;
#endif /* MAX_SIZE >= 256 */
26 1 u8_t *ptr;
27 1 u8_t c;
28 1
29 1 SIO_SEND(SLIP_END);
30 1 ptr = uip_buf;
31 1 for(i = 0; i < uip_len; i++)
32 1 {
33 2 if(i == 40)
34 2 ptr = uip_appdata;
35 2
36 2 c = *ptr++;
37 2 switch(c)
38 2 {
39 3 case SLIP_END:
40 3 SIO_SEND(SLIP_ESC);
41 3 SIO_SEND(SLIP_ESC_END);
42 3 break;
43 3 case SLIP_ESC:
44 3 SIO_SEND(SLIP_ESC);
45 3 SIO_SEND(SLIP_ESC_ESC);
46 3 break;
47 3 default:
48 3 SIO_SEND(c);
49 3 break;
50 3 }
51 2 }
52 1
53 1 SIO_SEND(SLIP_END);
54 1 }
55 /*-----------------------------------------------------------------------------------*/
C51 COMPILER V7.08 SLIPDEV 12/26/2003 07:27:16 PAGE 2
56 u16_t
57 slipdev_read(void)
58 {
59 1 u8_t c;
60 1
61 1 start:
62 1 uip_len = 0;
63 1 while(1) {
64 2 if(uip_len >= MAX_SIZE) {
65 3 goto start;
66 3 }
67 2 SIO_RECV(c);
68 2 switch(c) {
69 3 case SLIP_END:
70 3 if(uip_len > 0) {
71 4 return uip_len;
72 4 } else {
73 4 goto start;
74 4 }
75 3 break;
76 3 case SLIP_ESC:
77 3 SIO_RECV(c);
78 3 switch(c) {
79 4 case SLIP_ESC_END:
80 4 c = SLIP_END;
81 4 break;
82 4 case SLIP_ESC_ESC:
83 4 c = SLIP_ESC;
84 4 break;
85 4 }
86 3 /* FALLTHROUGH */
87 3 default:
88 3 if(uip_len < MAX_SIZE) {
89 4 uip_buf[uip_len] = c;
90 4 uip_len++;
91 4 }
92 3 break;
93 3 }
94 2
95 2 }
96 1 return 0;
97 1 }
98 /*-----------------------------------------------------------------------------------*/
99 void
100 slipdev_init(void)
101 {
102 1
103 1 }
104
105 void modem_request(void)
106 {
107 1 u8_t c;
108 1 do {
109 2 SIO_RECV(c);
110 2 if (c != 'C')
111 2 continue;
112 2 SIO_RECV(c);
113 2 if (c != 'L')
114 2 continue;
115 2 SIO_RECV(c);
116 2 if (c != 'I')
117 2 continue;
C51 COMPILER V7.08 SLIPDEV 12/26/2003 07:27:16 PAGE 3
118 2 SIO_RECV(c);
119 2 if (c != 'E')
120 2 continue;
121 2 SIO_RECV(c);
122 2 if (c != 'N')
123 2 continue;
124 2 SIO_RECV(c);
125 2 } while (c != 'T');
126 1 }
127
128 void modem_reply(void)
129 {
130 1 putstring("CLIENTSERVER");
131 1 }
132
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 462 ----
CONSTANT SIZE = 13 ----
XDATA SIZE = ---- 8
PDATA SIZE = ---- ----
DATA SIZE = ---- ----
IDATA SIZE = ---- ----
BIT SIZE = ---- ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -