STM32
直播中

杨杰

7年用户 996经验值
私信 关注
[问答]

STM32F429以太网怎么接收小于60字节的报文?

硬件:NUCLE-F429ZI
软件:lwip
      现在遇到别的设备发过来的报文 只有56字节,没有填充到60字节,STM32 的 ETH 没有接收中断,超过60字节的都有中断,设置了ETH_DMAOMR, RTC 为32字节,FUGF为1, 也没有接收中断!

回帖(1)

王英

2024-4-10 18:14:19
在STM32F429以太网接收小于60字节的报文时,首先需要确保以下几个条件:

1. 确认NUCLE-F429ZI硬件上的以太网接口和PHY芯片的连接正常。

2. 确认ETH_DMAOMR寄存器的设置正确,确保ETH_DMAOMR寄存器的RTC字段设置为32字节(0x1),FUGF字段设置为1(0x8)。

如果以上条件满足,但仍然无法接收小于60字节的报文,可以尝试以下几个步骤进行排查:

1. 检查以太网相关的中断使能寄存器是否设置正确。例如,检查ETH_DMAIER寄存器,确保接收中断相关的位(如RXINTEN等)已被正确设置。

2. 检查lwIP软件配置文件中的参数设置,确保正确处理小于60字节的报文。例如,检查LWIP_ETHERNET_RX_BUFSIZE参数,确认接收缓冲区的大小是否足够容纳小于60字节的报文。

3. 如果以上步骤都正确,但仍无法接收小于60字节的报文,可以考虑使用抓包工具(如Wireshark)对以太网信号进行捕获,并检查报文是否正确到达STM32F429以太网接口。

如果问题仍然存在,请检查硬件连线和硬件驱动等方面,以确保正确接收小于60字节的报文。
举报

更多回帖

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