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
}