打印
[STM32F4]

判断8个包的接收是是判断PHY寄存器吗?

[复制链接]
298|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
wenfen|  楼主 | 2020-5-9 22:53 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
电脑发送一帧数据里面有8个包,每个包是512字节,总共4K。每隔25ms发一帧数据,我看协议上说电脑发给
PHY芯片再由PHYdma发给ip层,再由IP层发给udp接收,想问一下对于一帧的数据里面有8个数据包,我接收时候是要查询标志位循环接收8次还是说接收一次就行,问一下它的标志位在哪,我现在接收数据有问题,可能是我只接收了8个包里面的一个包,其他7个都没接收?判断8个包的接收是是判断PHY寄存器吗?

使用特权

评论回复
沙发
huwr| | 2020-5-9 22:56 | 只看该作者
楼主把问题搞复杂了。建议首先检查下DP83848这个PHY芯片是不是能正常工作,STM32是不是能正常识别到这颗PHY,建议使用以下方法:
①.STM32通过SMI接口读取DP83848几个比较重要的寄存器,比如地址为0,1的寄存器,看看这些寄存器是否异常,如果全为0xFF,很可能是PHY芯片的地址不对,需要检查下你设置的PHY地址为多少(外围电路上电阻决定)。
②.在①正常的情况下,量下PHY与STM32 RX_CLK,RXD[3..0]这几个管脚(当然前提是使用MII模式,RMI模式也一样)是否处于跳动状态(跳动说明有信息),如果没有,建议检查下硬件电路。
③.在前面步骤都是正常情况下再去接收数据

使用特权

评论回复
板凳
ousj| | 2020-5-9 22:59 | 只看该作者
晕死了,我只会玩WIFI模块的那种。

使用特权

评论回复
地板
morrisk| | 2020-5-9 23:03 | 只看该作者
不能查缓冲区数据长度吗?

使用特权

评论回复
5
wenfen|  楼主 | 2020-5-9 23:08 | 只看该作者
我试试,谢谢大佬

使用特权

评论回复
6
ousj| | 2020-5-9 23:12 | 只看该作者
二楼大神啊  感谢 我也解惑了

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

737

主题

8940

帖子

8

粉丝