给你一个初始化 LWIP 函数
/*
;*****************************************************************************************************
;* º¯ÊýÃû³Æ : my_lwip_init
;* Ãè Êö : Lwip³õʼ»¯
;* Êä¡¡ Èë : ÎÞ
;*
;* Êä¡¡ ³ö : ÎÞ
;*****************************************************************************************************
;*/
void my_lwip_init(void)
{
struct ip_addr ipaddr, netmask,gw;
struct ip_addr groupaddr;
// uCMEM_Init(mymem, MY_MEM_SIZE); //³õʼ»¯ÐÒéÕ»Êý¾Ý
tcpip_init(tcpip_init_over, NULL); /*³õʼ»¯TCP*/
/*IPµØÖ·*/
IP4_ADDR(&ipaddr, LocalCfg.IP[0],LocalCfg.IP[1],\
LocalCfg.IP[2],LocalCfg.IP[3]);
/*Íø¹ØµØÖ·*/
IP4_ADDR(&gw,LocalCfg.IP_Gate[0],LocalCfg.IP_Gate[1],\
LocalCfg.IP_Gate[2],LocalCfg.IP_Gate[3]); /*ÍøÂç½Ó¿ÚÅäÖÃ*/
/*×ÓÍøÑÚÂë*/
IP4_ADDR(&netmask, LocalCfg.IP_Mask[0],LocalCfg.IP_Mask[1],\
LocalCfg.IP_Mask[2],LocalCfg.IP_Mask[3]);
/*×é²¥µØÖ·*/
IP4_ADDR(&groupaddr,LocalCfg.IP_Broadcast[0],LocalCfg.IP_Broadcast[1],\
LocalCfg.IP_Broadcast[2], LocalCfg.IP_Broadcast[3]);
netif_add(&DM9000, &ipaddr, &netmask, &gw, NULL, ethernetif_init, tcpip_input);
netif_set_default(&DM9000);
netif_set_up(&DM9000);
igmp_joingroup(&ipaddr, &groupaddr); /*ÍøÂç½Ó¿Ú¼ÓÈë×é²¥*/
igmp_start(&DM9000);
} |
看看