參考
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); //啓用網卡