在搞W5500动态获取IP地址的时候,遇到过两个坑,第一个是MAC地址的坑,我之前是吧STM32的CPU ID号作为W5500的MAC地址,这样就导致了有些板子不能动态获取IP地址,静态地址能配置成功,但是ping不同,经过各种调试,最终把问题锁定到MAC地址,查阅文档发现,MAC地址第一个字节必须是偶数,此时恍然大悟,将MAC地址第一个字节改为偶数,DHCP瞬间正常。
紧接着第二个问题又出现了,我发现有时DCHP正常,有时还是不能分配到IP地址,经过程序调试与跟踪,终于又找到了第二个问题所在,而这个问题居然是官方例程都存在的,我发现在DHCP_run()函数里面有一个超时函数一直跳不出去,这就导致程序只发送了一次DISCOVER,后面一直没有发送,这就是问题所在,具体解决办法可以参考我发的例子。https://download.csdn.net/download/workmailed/11451514
解决W5500,DHCP获取IP地址失败的问题,移植官方例程需要特别注意!!!
最新推荐文章于 2024-04-20 13:24:03 发布