工具/软件:Starterware
尊敬的所有人
刚刚导入 enet_lwip 示例并开始播放、也就是说、当我使用 DHCP IP 地址配置它并能够通过 PC 回拨时、它就会开始播放。 但是、当我尝试使用静态 IP 地址配置它并将 LWIP_DHCP 选项设置为1时、我的 IP 地址无法设置、并且所有地址都以0结束。 追查了 lwipplib.c,发现了以下情况:
1. 当设置了 LWIP_DHCP 选项时,lwIPLinkDetect()以常规间隔运行(由 lwIPServiceTimer()调用),而在这里,当更改链接状态时,它通过以下代码 snip 清除所有 IP 设置:
//
//从网络接口清除任何地址信息。
//
ip_addr.addr = 0;
net_mask.addr = 0;
gw_addr.addr = 0;
netif_set_addr (&g_sNetIF、&ip_addr、&net_mask、&gw_addr);
我不知道链路状态变化的定义,它是由初始化到 IP 地址引起的吗?
2. 将 LWIP_DHCP 清除为0,静态 IP 地址工作正常。 但是、我需要让这两个选项都对客户开放。
3. 检查了我们使用过的等效 StellarisWare,它看起来也检查了 LwIpServiceTimer()中的链路状态, 但不清除任何设置。 想知道它是否是错误吗?
有人有类似的问题吗?