首次在论坛发帖,还望版主和大家多支持。
在W5500网络扩展板例程中的 DCHP模式的程序中,一直停留在如下:
野火网络适配版 DHCP Demo V1.0
野火网络适配板作为DHCP客户端,尝试从DHCP服务器获取IP地址
后面获取不了DHCP服务器分配的ip等。
经过排查,发现程序中有两处疑似错误: 1、"dhcp.c"头文件中的do_dhcp(void)函数里面,两个初始化DHCP定时器初始化与DHCP初始化,需要放在main函数中,否则在while语句中会不断初始化。编译下载后可获得ip地址等,但是使用ping链接会发现,请求超时。进行第二步 dhcp_timer_init(); init_dhcp_client();.
2、在"w5500_conf.c"的set_w5500_ip(void)函数中,没有MAC设置,如下: setSUBR(ConfigMsg.sub); setGAR(ConfigMsg.gw); setSIPR(ConfigMsg.lip); 需要在加上setSHAR(ConfigMsg.mac);配置MAC地址。 setSHAR(ConfigMsg.mac); setSUBR(ConfigMsg.sub); setGAR(ConfigMsg.gw); setSIPR(ConfigMsg.lip); 完成设置后,ping链接发现可以正常运行。
ps:这个例程总体写的非常不错,适合初学者,有很多程序可以自己扩展。
|