参考
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); //启用网卡