你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

stm32f767zi 以太网无法接收问题

[复制链接]
xiaosqmcu 提问时间:2024-3-25 09:03 / 未解决

运行一段时间后,进入中断ETH DMA Error,四个接收描述符的DESC0的位31全为0,无法接收,有什么恢复机制。

(位31的描述->位 31 OWN :所有关系位 (Own bit) 该位置 1 时,指示描述符由 MAC 子系统的 DMA 所拥有。该位复位时,指示描述符由主机所 拥有。DMA 在帧接收完成或此描述符的关联缓冲区已满时将该位清零。)

收藏 评论1 发布时间:2024-3-25 09:03

举报

1个回答
xmshao 回答时间:2024-3-25 13:00:11
从手册上看,这个OWN位是可读可写的。要开始后续接收, 是可以对该位写1的。


我看库代码里也有对该位置位的操作行:

    dmarxdesc->DESC0 = ETH_DMARXDESC_OWN;


可能你要找找原因为什么出错了?处理不及时还是缓冲方面的问题?


按理说每次做完接收数据的处理后,应该有针对OWN位的
重置操作。类似这样的代码:
SET_BIT(dmarxdesc->DESC0, ETH_DMARXDESC_OWN);
关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新和工艺
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版