当驱动程序检测到链路从down变化为up时,重新初始化MAC和DMA,然后调用该函数。 注意:初始化时如果链路有效,low_level_init直接设置NETIF_FLAG_LINK_UP,而不调用netif_set_link_up函数,避免在lwip没有完全初始化好时启动DHCP。 D. netif_set_link_down 当驱动程序检测到链路从up变为down时调用该函数,并关闭MAC和...
当然,要想实现这个功能,需要配置如下选项,可使能默认网卡自动切换功能: 多网卡模式下,如果开启默认网卡自动切换功能,当前默认网卡状态改变为 down 或 link_down 时,默认网卡会切换到网卡列表中第一个状态为 up 和 link_up 的网卡。这样可以使一个网卡断开后快速切换到另一个可用网卡,简化用户应用层网卡切换操作。...
cpu就可以采用中断的方式来读取phy的link up和link down状态,如果phy芯片没有中断引脚,只能通过定时...
1.LWIP简介 LWIP代表"轻量级IP"(Lightweight IP),是一个嵌入式系统中常用的开源TCP/IP协议栈。它被...
大部分PHY在连接状态link发生改变时生成中断。对PHY连接状态发生改变的中断处理传递给tcp-ip线程。之后在HandlePhyInterrupt,如果link是up态,进行任何必要的硬件寄存器调整,来适配子协商的速度,之后调用dhcp_start。如果link是down态,首先调用netif_set_down(),前面提到的其他的dhcp函数可能就不需要了。
case ETH_LINK_UP: return; case ETH_LINK_DOWN: netif_set_link_down(netif); eth_link_status = ETH_LINK_NEGOTIATING; xil_printf("Ethernet Link down\r\n"); netif->dhcp_bind_state = 0; break; case ETH_LINK_NEGOTIATING: if (phy_link_status && ...
发现phy的寄存器里面读到状态有时会link_down,但是一般等个1~2秒就link_up,不知道跟这个有没有关系...
通过PHY的寄存器可以感知到网络的这些变换,并通过netif_set_link_up/netif_set_link_down来触发...
linkoutput_fnlinkoutput;#if LWIP_NETIF_STATUS_CALLBACK/** This function is called when the netif state is set to up or down状态*/netif_status_callback_fnstatus_callback;#endif/* LWIP_NETIF_STATUS_CALLBACK */#if LWIP_NETIF_LINK_CALLBACK/** This function is called when the netif link ...
(netif_is_link_up(&netif)){/* When the netif is fully configured this function must be called */netif_set_up(&netif);}else{/* When the netif link is down this function must be called */netif_set_down(&netif);}NVIC_SetPriority(EMAC_TX_IRQn,configLIBRARY_MAX_SYSCALL_INTERRUPT_PRIORITY...