📄 example1.lst
字号:
C51 COMPILER V8.08 EXAMPLE1 02/23/2007 20:23:09 PAGE 1
C51 COMPILER V8.08, COMPILATION OF MODULE EXAMPLE1
OBJECT MODULE PLACED IN example1.OBJ
COMPILER INVOKED BY: f:\Keil\C51\BIN\C51.EXE example1.c LARGE BROWSE DEBUG OBJECTEXTEND
line level source
1 #include <stdio.h>
2 #include "uip.h"
3 #include "uipopt.h"
4 #include "uip_arch.h"
5 #include "example1.h"
6 #include "string.h"
7
8 unsigned char sbufOut[1462];
9 data unsigned int sbufLen=0;
10 bit sbufBit=1;
11 extern bit BitServer;
12 u16_t RemoteIpAddr[2]={ (210<<8) + 41, (232<<8) + 143 };
13 u16_t RemoteTcpPort=HTONS(1236);
14 u16_t LocalTcpPort=HTONS(1234);
15
16 void example1_init(void)
17 {
18 1 /* if( BitServer )
19 1 uip_listen( LocalTcpPort );
20 1 else
21 1 uip_connect( RemoteIpAddr, RemoteTcpPort );
22 1
23 1 */
24 1 struct uip_udp_conn *udp_conn;
25 1 u16_t ipaddr[2];//定义IP类型变量
26 1 uip_ipaddr(ipaddr, 192,168,1,168); //远程IP为210.29.104.88
27 1 udp_conn = uip_udp_new(&ipaddr, HTONS(1005));//建立到远程ipaddr,端口1235的连接
28 1 }
29
30 /*******************************************
31 added by ye 2008.12.11
32 ********************************************/
33
34
35 /*---------------------------------------------------------------------------*/
36 /** \internal
37 * The main UDP function.
38 */
39 /*---------------------------------------------------------------------------*/
40
41 void udp_appcall(void)
42 {
43 1 // char string1[]="hello! ";
44 1 // char *nptr;
45 1 // nptr=(char *)uip_appdata;
46 1 if(uip_poll()|| (sbufBit) ) {
47 2 // memcpy(nptr,string1,8);
48 2 // uip_udp_send(8);
49 2 // udp_send("hello\n",6);//定时时间到,发hello
50 2 // BufUartStr( uip_appdata, uip_len );
51 2 // printf("\nUDP poll!\n");
52 2 sbufLen = 0;
53 2 while(BufUartRtest())
*** WARNING C206 IN LINE 53 OF EXAMPLE1.C: 'BufUartRtest': missing function-prototype
54 2 {
C51 COMPILER V8.08 EXAMPLE1 02/23/2007 20:23:09 PAGE 2
55 3 sbufOut[sbufLen++] = BufUartRin();
*** WARNING C206 IN LINE 55 OF EXAMPLE1.C: 'BufUartRin': missing function-prototype
56 3 if( sbufLen >= 1460 ) break;
57 3 }
58 2 if( sbufLen ){
59 3 BufUartStr( sbufOut,sbufLen );
60 3 memcpy(uip_appdata,sbufOut,sbufLen);
61 3 BufUartStr( uip_appdata,sbufLen );
62 3 uip_udp_send(sbufLen);
63 3
64 3 sbufBit = 0;
65 3 }
66 2 else
67 2 sbufBit = 1;
68 2 }
69 1 if(uip_newdata()) //如果指定IP的指定端口发来数据
70 1 {
71 2 // memcpy(nptr,string1,8);
72 2 //uip_appdata=&string1;
73 2 uip_udp_send(uip_len);
74 2
75 2 BufUartStr( uip_appdata, uip_len );
76 2 // newdata();
77 2 // udp_send(nptr,len);
78 2 // BufUartStr( uip_appdata, uip_len );
79 2 // printf("\nUDP received !\n");
80 2 }
81 1 }
82
83 /*******************************************
84 add end!
85 ********************************************/
86
87
88 void example1_app(void)
89 {
90 1
91 1 if( uip_connected() )
92 1 {
93 2 /*
94 2 if( (uip_conn->lport==HTONS(LocalTcpPort)) )
95 2 {
96 2 BufUartStr("\rS Link\r", 8 );
97 2 }
98 2 else
99 2 {
100 2 BufUartStr("\rC Link\r", 8 );
101 2 }
102 2 */
103 2 return;
104 2 }
105 1
106 1 if(uip_newdata()) //recive new data
107 1 {
108 2 /*
109 2 if( (uip_conn->lport==HTONS(LocalTcpPort)) )
110 2 {
111 2 BufUartStr("\rServer\r", 8 );
112 2 }
113 2 else
114 2 {
115 2 BufUartStr("\rClient\r", 8 );
C51 COMPILER V8.08 EXAMPLE1 02/23/2007 20:23:09 PAGE 3
116 2 }
117 2 */
118 2 BufUartStr( uip_appdata, uip_len );
119 2
120 2 }
121 1
122 1 if( uip_poll() || uip_acked() || (sbufBit) ) //can send new data
123 1 {
124 2 sbufLen = 0;
125 2 while(BufUartRtest())
126 2 {
127 3 sbufOut[sbufLen++] = BufUartRin();
128 3 if( sbufLen >= 1460 ) break;
129 3 }
130 2 if( sbufLen )
131 2 {
132 3 uip_send( sbufOut, sbufLen );
133 3 sbufBit = 0;
134 3 }
135 2 else
136 2 sbufBit = 1;
137 2 }
138 1
139 1 if( uip_rexmit() ) //retransmit old data
140 1 {
141 2 uip_send( sbufOut, sbufLen );
142 2 }
143 1
144 1 if( uip_timedout() || uip_closed() || uip_aborted())
145 1 {
146 2 /*
147 2 if(uip_closed())
148 2 BufUartStr("\rClosed ", 8);
149 2 else
150 2 BufUartStr("\rTimedout", 9);
151 2 */
152 2
153 2 /*
154 2 if( uip_conn->lport == HTONS(LocalTcpPort) )
155 2 {
156 2 //BufUartStr(" Server\r", 8);
157 2 uip_unlisten( LocalTcpPort );
158 2 uip_listen( LocalTcpPort );
159 2 }
160 2 else
161 2 {
162 2 //BufUartStr(" Client\r", 8);
163 2 uip_connect( RemoteIpAddr, RemoteTcpPort );
164 2 }
165 2 */
166 2
167 2 if( BitServer )
168 2 {
169 3 //BufUartStr(" Server\r", 8);
170 3 uip_unlisten( LocalTcpPort );
171 3 uip_listen( LocalTcpPort );
172 3 }
173 2 else
174 2 {
175 3 //BufUartStr(" Client\r", 8);
176 3 uip_connect( RemoteIpAddr, RemoteTcpPort );
177 3 }
C51 COMPILER V8.08 EXAMPLE1 02/23/2007 20:23:09 PAGE 4
178 2 }
179 1
180 1
181 1 /*
182 1 if(uip_aborted())
183 1 {
184 1 BufUartStr("\rAborted\r", 9);
185 1 }
186 1 */
187 1 }
188
189
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 437 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = 1470 7
PDATA SIZE = ---- ----
DATA SIZE = 2 ----
IDATA SIZE = ---- ----
BIT SIZE = 1 ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 2 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -