完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
|
我用ESP32外接LAN8720,因为要使用ESP32的第二路UART,只能使用GPIO0提供CLK。
使用的代码是IDF里的ethernet例子,报错如下: Code: Select all I (229) cpu_start: App cpu up.I (247) heap_init: Initializing. RAM available for dynamic allocation:I (254) heap_init: At 3FFAE6E0 len 00001920 (6 KiB): DRAMI (260) heap_init: At 3FFB40A8 len 0002BF58 (175 KiB): DRAMI (266) heap_init: At 3FFE0440 len 00003AE0 (14 KiB): D/IRAMI (273) heap_init: At 3FFE4350 len 0001BCB0 (111 KiB): D/IRAMI (279) heap_init: At 400885D0 len 00017A30 (94 KiB): IRAMI (285) cpu_start: Pro cpu start user codeI (303) cpu_start: Chip Revision: 1W (303) cpu_start: Chip revision is higher than the one configured in menuconfig. Suggest to upgrade it.I (307) cpu_start: Starting scheduler on PRO CPU.I (0) cpu_start: Starting scheduler on APP CPU.I (319) system_api: Base MAC address is not set, read default base MAC address from BLK0 of EFUSEE (1329) emac: Timed out waiting for PHY register 0x2 to have value 0x0007(mask 0xffff). Current value 0xffffE (2329) emac: Timed out waiting for PHY register 0x3 to have value 0xc0f0(mask 0xfff0). Current value 0xffffE (2329) emac: Initialise PHY device TimeoutESP_ERROR_CHECK failed: esp_err_t 0xffffffff (ESP_FAIL) at 0x400841400x40084140: _esp_error_check_failed at /mnt/hgfs/workspace/esp32/IDF/esp-idf-v3.3/components/esp32/panic.c:720file: "/mnt/hgfs/workspace/esp32/project/ethernet/main/ethernet_example_main.c" line 153func: app_mainexpression: esp_eth_enable()ELF file SHA256: 597d55ebf237c1cffa5f47c73148a159b22726d94a7b78100bd941d7d5fc906eBacktrace: 0x40083cdc:0x3ffb5e80 0x40084143:0x3ffb5ea0 0x400d32c1:0x3ffb5ec0 0x400d1742:0x3ffb5f20 0x40085d91:0x3ffb5f400x40083cdc: invoke_abort at /mnt/hgfs/workspace/esp32/IDF/esp-idf-v3.3/components/esp32/panic.c:7150x40084143: _esp_error_check_failed at /mnt/hgfs/workspace/esp32/IDF/esp-idf-v3.3/components/esp32/panic.c:7210x400d32c1: app_main at /mnt/hgfs/workspace/esp32/project/ethernet/main/ethernet_example_main.c:153 (discriminator 1)0x400d1742: main_task at /mnt/hgfs/workspace/esp32/IDF/esp-idf-v3.3/components/esp32/cpu_start.c:5420x40085d91: vPortTaskWrapper at /mnt/hgfs/workspace/esp32/IDF/esp-idf-v3.3/components/freertos/port.c:403Rebooting... 使用的Example Config如下:Code: Select all ## Example Configuration#CONFIG_PHY_IP101=CONFIG_PHY_TLK110=CONFIG_PHY_LAN8720=yCONFIG_PHY_ADDRESS=1CONFIG_PHY_CLOCK_GPIO0_IN=yCONFIG_PHY_CLOCK_GPIO0_OUT=CONFIG_PHY_CLOCK_GPIO16_OUT=CONFIG_PHY_CLOCK_GPIO17_OUT=CONFIG_PHY_CLOCK_MODE=0CONFIG_PHY_USE_POWER_PIN=yCONFIG_PHY_POWER_PIN=5CONFIG_PHY_SMI_MDC_PIN=23CONFIG_PHY_SMI_MDIO_PIN=18 请问这个是在哪里出了问题呢?我看了官方的开发板也是使用了IO0提供CLK给IP101,且我测试了代码是可以用的。 |
|
相关推荐
1个回答
|
|
|
根据您提供的信息,您在使用ESP32外接LAN8720时遇到了初始化错误。首先,我们需要了解ESP32的GPIO0默认配置和LAN8720的CLK要求。
1. ESP32的GPIO0默认配置:在ESP32启动时,GPIO0通常被配置为CLKOUT1,用于输出系统时钟。这意味着GPIO0的时钟频率与系统时钟相同。 2. LAN8720的CLK要求:LAN8720需要一个25MHz的时钟信号,用于其内部操作。 现在我们来分析可能的原因: 1. 时钟频率不匹配:如果ESP32的系统时钟频率不是25MHz,那么GPIO0输出的时钟频率可能不符合LAN8720的要求。您需要检查ESP32的时钟设置,确保其输出的时钟频率为25MHz。 2. 信号完整性问题:在使用GPIO0作为CLK信号时,可能存在信号完整性问题,导致LAN8720无法正确接收时钟信号。您需要检查电路设计,确保信号完整性。 3. 代码问题:您提到使用的是IDF里的ethernet例子,可能存在代码配置问题。请检查以下设置: a. 确保UART配置正确,包括波特率、数据位、停止位等。 b. 确保GPIO配置正确,包括TX、RX、CLK等引脚。 c. 确保LAN8720的初始化代码正确,包括时钟设置、电源管理等。 4. 硬件问题:如果以上原因都排除了,可能是硬件本身存在问题。您可以尝试更换LAN8720模块或检查ESP32与LAN8720之间的连接。 建议您按照以上步骤逐一排查问题,找到导致初始化出错的原因,并进行相应的调整。希望这些信息对您有所帮助。 |
|
|
|
|
只有小组成员才能发言,加入小组>>
944 浏览 0 评论
1671 浏览 0 评论
请问一下我想用ESP8685直接替换ESP8266而不用写程序,可以让ESP8685直接通过之前ESP8266的外挂的flash运行程序吗
1330 浏览 1 评论
1233 浏览 1 评论
5015 浏览 2 评论
为blufi_device设置自定义名称,但是无法修改,为什么?
1250浏览 4评论
请问ESP32-S2-WROOM怎么获得ESP32-S2外接FLASH的唯一序列号?
927浏览 3评论
2330浏览 3评论
ESP-IDF的VScode插件的build按钮点击会报错的原因?
2526浏览 3评论
ESP-Jumpstart例程中第5个工程:5_cloud连接报错是哪里的问题?
1051浏览 2评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-1 21:56 , Processed in 0.622201 second(s), Total 42, Slave 35 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
1038
