LinY 发表于 2024-1-24 16:13:54

STM32F429+LAN8720A 部分老式交换机网口灯不亮

STM32F429+LAN8720ACubemx+keil
裸机HAL库生成最简单的代码
接上部分老的傻瓜式交换机 网口灯不亮。测试不亮的交换机型号H3C S5500 Serial
其他交换机正常

代码:
Cubemx配置SYS开启RCC中的HSE,开启ETH配置引脚,开启LWIP,添加ETH_RESET引脚
时钟用25Mhz的HSE然后生成keil项目

1.main.c里面默认调用MX_LWIP_Init();然后在主循环调用MX_LWIP_Process();
2.HAL_ETH_MspInit的后面也加上了复位
/* USER CODE BEGIN ETH_MspInit 1 */
    // ETH_RESET 低电平50ms会进行复位,复位之后设置高电平
    HAL_GPIO_WritePin(ETH_RESET_GPIO_Port, ETH_RESET_Pin, GPIO_PIN_SET);
    HAL_Delay(20);
    HAL_GPIO_WritePin(ETH_RESET_GPIO_Port, ETH_RESET_Pin, GPIO_PIN_RESET);
    HAL_Delay(60);
    HAL_GPIO_WritePin(ETH_RESET_GPIO_Port, ETH_RESET_Pin, GPIO_PIN_SET);
/* USER CODE END ETH_MspInit 1 */25Mhz和50Mhz都测过,正常 而且波形也很稳
交换机本身测过正常的,插电脑什么的都正常能用的。

1.老式交换机也试过把自动协商改成非自动的, 100M/10M+全双工/半双工的4种组合也都试过,网口灯也没反应。
2.改ETH的几个引脚从高速改成低速也试过,网口灯也没反应。

问下还有可能是什么原因造成的


eric2013 发表于 2024-1-25 00:37:47

换个正经MAC地址试试,是不是MAC被拦截了。

LinY 发表于 2024-1-29 16:43:29

eric2013 发表于 2024-1-25 00:37
换个正经MAC地址试试,是不是MAC被拦截了。

找到原因了 自协商失败了
切换只有手动协商10M了
应该是有信号损耗。 导致的 和老式交换机自协商失败了

eric2013 发表于 2024-1-30 07:47:39

LinY 发表于 2024-1-29 16:43
找到原因了 自协商失败了
切换只有手动协商10M了
应该是有信号损耗。 导致的 和老式交换机自协商失败了

谢谢告知最终问题原因。
页: [1]
查看完整版本: STM32F429+LAN8720A 部分老式交换机网口灯不亮