63 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
		
		
			
		
	
	
			63 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
|  | #include "uip.h"
 | ||
|  | #include "uip_arp.h"
 | ||
|  | #include "network-device.h"
 | ||
|  | #include "httpd.h"
 | ||
|  | #include "timer.h"
 | ||
|  | 
 | ||
|  | /*---------------------------------------------------------------------------*/ | ||
|  | int | ||
|  | main(void) | ||
|  | { | ||
|  |   int i; | ||
|  |   uip_ipaddr_t ipaddr; | ||
|  |   struct timer periodic_timer; | ||
|  |    | ||
|  |   timer_set(&periodic_timer, CLOCK_SECOND / 2); | ||
|  |    | ||
|  |   network_device_init(); | ||
|  |   uip_init(); | ||
|  | 
 | ||
|  |   uip_ipaddr(ipaddr, 192,168,0,2); | ||
|  |   uip_sethostaddr(ipaddr); | ||
|  | 
 | ||
|  |   httpd_init(); | ||
|  |    | ||
|  |   while(1) { | ||
|  |     uip_len = network_device_read(); | ||
|  |     if(uip_len > 0) { | ||
|  |       uip_input(); | ||
|  |       /* If the above function invocation resulted in data that
 | ||
|  | 	 should be sent out on the network, the global variable | ||
|  | 	 uip_len is set to a value > 0. */ | ||
|  |       if(uip_len > 0) { | ||
|  | 	network_device_send(); | ||
|  |       } | ||
|  |     } else if(timer_expired(&periodic_timer)) { | ||
|  |       timer_reset(&periodic_timer); | ||
|  |       for(i = 0; i < UIP_CONNS; i++) { | ||
|  | 	uip_periodic(i); | ||
|  | 	/* If the above function invocation resulted in data that
 | ||
|  | 	   should be sent out on the network, the global variable | ||
|  | 	   uip_len is set to a value > 0. */ | ||
|  | 	if(uip_len > 0) { | ||
|  | 	  network_device_send(); | ||
|  | 	} | ||
|  |       } | ||
|  | 
 | ||
|  | #if UIP_UDP
 | ||
|  |       for(i = 0; i < UIP_UDP_CONNS; i++) { | ||
|  | 	uip_udp_periodic(i); | ||
|  | 	/* If the above function invocation resulted in data that
 | ||
|  | 	   should be sent out on the network, the global variable | ||
|  | 	   uip_len is set to a value > 0. */ | ||
|  | 	if(uip_len > 0) { | ||
|  | 	  network_device_send(); | ||
|  | 	} | ||
|  |       } | ||
|  | #endif /* UIP_UDP */
 | ||
|  |     } | ||
|  |   } | ||
|  |   return 0; | ||
|  | } | ||
|  | /*---------------------------------------------------------------------------*/ |