1、初始化方式
void lwip_init_task(void) { struct ip_addr ipaddr, netmask, gw; lwip_init(); IP4_ADDR(&gw, 192,168,1,1); IP4_ADDR(&ipaddr, 192,168,1,37); IP4_ADDR(&netmask, 255,255,255,0); netif_add(&enc28j60_netif, &ipaddr, &netmask, &gw, NULL, ethernetif_init,ethernet_input); netif_set_default(&enc28j60_netif); netif_set_up(&enc28j60_netif); }
2、重设方式
void lwip_reset_netif_ipaddr(void) { static unsigned int flag = 0; struct ip_addr ipaddr, netmask, gw; flag++; if( 0 == flag%2) { IP4_ADDR(&ipaddr, 192,168,1,37); }else { IP4_ADDR(&ipaddr, 192,168,1,36); } IP4_ADDR(&gw, 192,168,1,1); IP4_ADDR(&netmask, 255,255,255,0); netif_set_down(&enc28j60_netif); //先down netif_set_gw(&enc28j60_netif, &gw); netif_set_netmask(&enc28j60_netif, &netmask); netif_set_ipaddr(&enc28j60_netif, &ipaddr); netif_set_up(&enc28j60_netif);//设置完成后再up }