STM32
直播中

江左盟

8年用户 1327经验值
擅长:电源/新能源
私信 关注
[问答]

STM32F756做以太网,移植LWIP协议栈MII通信只能收不能发是为什么?

有谁做过STM32f756的以太网。移植swip协议栈mii通信的那种,发现只能接收到电脑发过来的数据,但发送不能成功。用示波器测量,只测到了前导码。感觉是eth mac发送哪儿出了问题?大家有遇到过的吗,求解答

回帖(1)

ronga245

2024-5-7 17:44:50
STM32F756使用LWIP协议栈进行以太网通信时,如果只能接收数据而无法发送,可能是由以下几个原因导致的:

1. PHY芯片配置问题:确保PHY芯片已正确配置,包括自动协商、工作模式等。检查PHY的初始化代码,确保所有必要的配置步骤都已完成。

2. MAC配置问题:检查STM32F756的MAC配置,确保发送队列已启用,并且发送缓冲区已正确设置。

3. LWIP配置问题:检查LWIP协议栈的配置,确保已正确设置以太网接口的参数,如IP地址、子网掩码、网关等。

4. 驱动问题:检查STM32F756的以太网驱动,确保发送函数已正确实现,并且与LWIP协议栈的接口兼容。

5. 网络拓扑问题:检查网络拓扑,确保交换机、路由器等设备已正确连接,并且网络设备之间的连接没有问题。

6. 软件问题:检查LWIP协议栈的实现,确保发送数据时已正确处理以太网帧的构造、填充和发送。

7. 硬件问题:检查STM32F756的硬件连接,确保以太网接口的引脚已正确连接到PHY芯片,并且没有短路或断路现象。

为了解决这个问题,你可以尝试以下步骤:

1. 仔细检查PHY芯片和STM32F756的MAC配置,确保所有必要的配置步骤都已完成。

2. 检查LWIP协议栈的配置,确保已正确设置以太网接口的参数。

3. 检查STM32F756的以太网驱动,确保发送函数已正确实现,并且与LWIP协议栈的接口兼容。

4. 使用网络分析仪或示波器检查以太网通信,确保发送的数据包格式正确,包括前导码、目的MAC地址、源MAC地址、类型/长度、数据和FCS等。

5. 如果可能,尝试使用其他以太网设备(如交换机、路由器等)进行测试,以排除网络拓扑问题。

6. 在STM32F756上使用简单的以太网测试程序(如uIP或FreeRTOS+TCP)进行测试,以排除LWIP协议栈的问题。

7. 如果问题仍然存在,考虑联系STM32F756的制造商或LWIP协议栈的开发者,寻求技术支持。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分