完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
参考以太网dm9051驱动移植了w5500驱动,编译正常,烧录运行,通过打印的logo看,一直卡在"Waiting for IP(s)"。
这个是一个IP_EVENT_ETH_GOT_IP事件,由esp_event_handler_register(IP_EVENT, IP_EVENT_ETH_GOT_IP, &on_got_ip, NULL));注册,回调函数为on_got_ip。 目前代码调试卡在此处,没有找到哪里触发了IP_EVENT_ETH_GOT_IP事件,无法分析问题出在哪里。 |
|
相关推荐
1个回答
|
|
根据您提供的信息,您的ESP-IDF以太网驱动在使用DM9051芯片时,一直卡在"Waiting for IP"的阶段。这个问题可能是由以下几个原因导致的:
1. **网络连接问题**:首先检查您的网络连接是否正常,确保ESP32模块能够连接到以太网网络。 2. **DHCP配置问题**:检查您的网络是否支持DHCP,并且ESP32模块是否正确配置为使用DHCP获取IP地址。如果网络不支持DHCP,您需要手动设置静态IP地址。 3. **驱动问题**:您提到参考了W5500驱动移植了DM9051驱动,可能存在一些不兼容或者配置错误的地方。请仔细检查驱动代码,确保所有必要的配置都已经正确设置。 4. **ESP-IDF版本问题**:确保您使用的ESP-IDF版本与您的硬件和驱动兼容。如果可能,请尝试升级到最新版本的ESP-IDF。 5. **事件处理问题**:您提到IP_EVENT_ETH_GOT_IP事件没有被触发,这可能是因为事件处理函数没有正确注册或者回调函数on_got_ip没有正确实现。请检查以下方面: - 确保esp_event_handler_register函数的参数正确无误。 - 检查on_got_ip函数是否正确实现了,并且能够正确处理IP_EVENT_ETH_GOT_IP事件。 6. **调试信息**:在您的代码中添加更多的调试信息,以便更好地了解问题所在。例如,您可以在等待IP的过程中添加一些打印语句,以便观察程序的执行流程。 7. **硬件问题**:检查您的硬件连接是否正确,包括ESP32模块、DM9051芯片和网络设备之间的连接。 综上所述,要解决这个问题,您需要从多个方面进行排查和调试。希望这些建议能帮助您找到问题所在并解决问题。 |
|
|
|
只有小组成员才能发言,加入小组>>
1106 浏览 1 评论
574浏览 6评论
477浏览 5评论
有没有办法在不使用混杂模式的情况下实现Wifi驱动程序接收缓冲区访问中断呢?
460浏览 5评论
461浏览 4评论
435浏览 4评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-18 15:34 , Processed in 0.818180 second(s), Total 79, Slave 62 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号