[STM32F4] 以太网数据发送漏帧

[复制链接]
1565|8
 楼主| w_u123 发表于 2016-2-24 13:27 | 显示全部楼层 |阅读模式
STM32F407通过lwip的UDP连续发送多包数据,发送的过程中并无错误返回,但是在接收PC上通过Wireshark抓包发现会少收到其中一帧数据。但是在通讯过程中,调用ST的库函数时,从未返回任何异常。不知这是一个问题,还是本来就应该这样?
huangxz 发表于 2016-2-24 13:31 | 显示全部楼层
首先看看有没有什么规律,偶然还是必然?
 楼主| w_u123 发表于 2016-2-24 13:31 | 显示全部楼层
huangxz 发表于 2016-2-24 13:31
首先看看有没有什么规律,偶然还是必然?

必然
 楼主| w_u123 发表于 2016-2-24 13:34 | 显示全部楼层
通过加测试代码发现,我的APP调用sendto发送的每一帧都顺利的送到了low_level_output函数中
huangxz 发表于 2016-2-24 13:34 | 显示全部楼层
那就直接定位到处理那个帧的位置,看实际处理有没有问题,wireshark不设置滤波,接收不会有什么问题
 楼主| w_u123 发表于 2016-2-25 15:45 | 显示全部楼层
huangxz 发表于 2016-2-24 13:34
那就直接定位到处理那个帧的位置,看实际处理有没有问题,wireshark不设置滤波,接收不会有什么问题 ...

APP里UDP的收发是异步的,此时MAC配置寄存器需要使能全双工吗?
E-Kaia 发表于 2016-2-25 18:23 | 显示全部楼层
测试一下中断有没有进入,抓包的话有没有丢包,网络变压器工作了吗?
Jessicakjdsl 发表于 2016-2-26 09:02 | 显示全部楼层
你的硬件设计是不是有些问题,变压器选的不匹配?
 楼主| w_u123 发表于 2016-2-29 08:25 | 显示全部楼层
果然是MAC配置寄存器需要使能全双工。但是如果设置自适应的话,从PHY返回的结果是半双工的,这里需要强制设置为全双工才行
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

23

帖子

1

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