解决W5500,DHCP获取IP地址失败的问题,移植官方例程需要特别注意!!!

在搞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

  • 3
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 7
    评论
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值