[STM32F7] STM32F767ZI不调用 MX_USB_OTG_FS_PCD_Init (),以太网就无法工作

[复制链接]
4|0
柴库柴库 发表于 2026-9-20 16:49 | 显示全部楼层 |阅读模式

我在使用 NUCLEO‑F767ZI 开发板,RMII 以太网外加 LAN8742A PHY;项目基于 lwIP / TCP‑IP 协议栈。
我观察到一个很怪异的现象如果把`MX_USB_OTG_FS_PCD_Init()`这行注释掉,以太网通信就停止工作;保留这一段初始化,则以太网可以正常运行。

外设初始化顺序如下:

MX_GPIO_Init();
MX_USART3_UART_Init();
MX_LWIP_Init();
MX_TIM3_Init();
MX_SPI4_Init();
MX_CAN1_Init();
MX_UART5_Init();
MX_USB_OTG_FS_PCD_Init();
更多现象观察:
如果仅仅用`HAL_Delay()`替换 USB 初始化函数,以太网依旧不能恢复;
所以看起来不单纯是时序延时问题。

看起来`HAL_PCD_Init()` / `HAL_PCD_MspInit()`在做 USB 初始化的时候,间接开启或者配置了某些以太网运行所依赖的东西。

GPIO 时钟被间接使能;
MSP 或者 NVIC 配置带来的副作用;
某些间接依赖,进而影响了`HAL_ETH_MspInit()`或者 lwIP 协议栈。

有没有其他人遇到过 STM32F767 + LAN8742A + lwIP 这套平台上类似的现象?

您需要登录后才可以回帖 登录 | 注册

本版积分规则

220

主题

240

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部
0