?? lwip_main.c
字號:
#include "std.h"
#include "HW_Periph.h"
#include "HW_func.h"
#include "sysconf.h"
#include "lwip/opt.h"
#include "lwip/mem.h"
#include "lwip/memp.h"
#include "lwip/sys.h"
#include "lwip/stats.h"
#include "lwip/tcpip.h"
#include "netif/loopif.h"
#include "netif/eth4510if.h"
#include "lwip/ip_addr.h"
#include "lwip/debug.h"
//#include "tcpecho.h"
//#include "udpecho.h"
/*dy's debug*/
#include "snds.h"
/*dy's debug*/
extern OS_EVENT *ConsoleSem;
/*-----------------------------------------------------------------------------------*/
static void
tcpip_init_done(void *arg)
{
sys_sem_t *sem;
sem = arg;
sys_sem_signal(*sem);
}
/*-----------------------------------------------------------------------------------*/
/*-----------------------------------------------------------------------------------*/
void LWIP_main(void *arg)
{
u8_t err;
struct ip_addr ipaddr, netmask, gw;
sys_sem_t sem;
#ifdef STATS
stats_init();
#endif /* STATS */
sys_init();
mem_init();
memp_init();
pbuf_init();
OSSemPend(ConsoleSem,0,&err);
Print("==================System initialized.==================\r\n");
OSSemPost(ConsoleSem);
netif_init();
sem = sys_sem_new(0);
tcpip_init(tcpip_init_done, &sem);
sys_sem_wait(sem);
sys_sem_free(sem);
OSSemPend(ConsoleSem,0,&err);
Print("==================TCP/IP initialized.==================\r\n");
OSSemPost(ConsoleSem);
#if LWIP_DHCP
{
struct netif *netif;
IP4_ADDR(&gw, 0,0,0,0);
IP4_ADDR(&ipaddr, 0,0,0,0);
IP4_ADDR(&netmask, 0,0,0,0);
netif = netif_add(&ipaddr, &netmask, &gw, ethernetif_init,
tcpip_input);
netif_set_default(netif);
dhcp_init();
dhcp_start(netif);
}
#else
// IP4_ADDR(&gw, 192,168,0,1);
// IP4_ADDR(&ipaddr, 192,168,0,111);
// IP4_ADDR(&netmask, 255,255,255,0);
IP4_ADDR(&gw, 10,0,0,2);
IP4_ADDR(&ipaddr, 10,0,0,20);
IP4_ADDR(&netmask, 255,255,255,0);
netif_set_default(netif_add(&ipaddr, &netmask, &gw, NULL, ethernetif_init,tcpip_input));
OSSemPend(ConsoleSem,0,&err);
Print("==============Net Interface Attached==============\r\n");
Print("==================10.0.0.20===================\r\n");
OSSemPost(ConsoleSem);
#endif
IP4_ADDR(&gw, 127,0,0,1);
IP4_ADDR(&ipaddr, 127,0,0,1);
IP4_ADDR(&netmask, 255,0,0,0);
netif_add(&ipaddr, &netmask, &gw, NULL,loopif_init,tcpip_input);
OSSemPend(ConsoleSem,0,&err);
Print("==============Net Interface Attached==============\r\n");
Print("==================127.0.0.1===================\r\n");
OSSemPost(ConsoleSem);
/* tcpecho_init();
shell_init();
httpd_init();
udpecho_init();*/
//這里便是應(yīng)用程序的創(chuàng)建過程
while(1)
{
OSTimeDly(OS_TICKS_PER_SEC);//block every minite
/*dy's debug*/
IOPDATA= IOPDATA&0x40 ? IOPDATA &(~0x40) : IOPDATA |0x40;
/*dy's debug*/
}
}
/*-----------------------------------------------------------------------------------*/
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -