LWIP移植和使用

参考

LWIP移植文件介绍
手把手教你移植LWIP(ENC28J60)
LwIP学习笔记——LwIP无操作系统移植
LwIP BUG之ARP缓存
Lwip ARP分析(1)
Lwip之如何动态更改IP地址

ping不通

项目里pc无法ping通单片机,抓包发现是ARP包没有返回,通过底层打印发现可以收包,
ethernetif_input查看lwip对arp包处理的是否正确,

//sys_arch.c
u32_t sys_now()
{
  return LocaTime;
}

动态修改IP

tcp_close(u_sTcp_pcb[i]);
netif_set_down(&u_sNetif); //先禁用网卡
netif_set_gw(&u_sNetif, &GW_updata);        //重新设置网关地址
netif_set_netmask(&u_sNetif, &Mask_update); //重新设置子网掩码
netif_set_ipaddr(&u_sNetif, &ip_update);    //重新设置IP地址
//  netif_set_addr(&u_sNetif, &ip_update, &Mask_update, &GW_updata);
netif_set_up(&u_sNetif);  //启用网卡

你可能感兴趣的:(IoT单片机)