硬汉嵌入式论坛

 找回密码
 立即注册
查看: 519|回复: 3
收起左侧

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

[复制链接]

11

主题

36

回帖

69

积分

初级会员

积分
69
发表于 2024-1-24 16:13:54 | 显示全部楼层 |阅读模式
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的几个引脚从高速改成低速也试过,网口灯也没反应。

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


回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106856
QQ
发表于 2024-1-25 00:37:47 | 显示全部楼层
换个正经MAC地址试试,是不是MAC被拦截了。
回复

使用道具 举报

11

主题

36

回帖

69

积分

初级会员

积分
69
 楼主| 发表于 2024-1-29 16:43:29 | 显示全部楼层
eric2013 发表于 2024-1-25 00:37
换个正经MAC地址试试,是不是MAC被拦截了。

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

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106856
QQ
发表于 2024-1-30 07:47:39 | 显示全部楼层
LinY 发表于 2024-1-29 16:43
找到原因了 自协商失败了
切换只有手动协商10M了
应该是有信号损耗。 导致的 和老式交换机自协商失败了

谢谢告知最终问题原因。
回复

使用道具 举报

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

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-5-8 03:12 , Processed in 0.149966 second(s), 26 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表