elephant00 发表于 2022-7-20 09:23

以太网描述符ETH_DMATxDesc_OWN异常

stm32 以太网发送一段时间后发送描述符状态一直为DMA拥有,造成以太网发送停止,发送过程中什么原因会造成描述符一直为DMA拥有;(发送接收同时进行,接收为中断接收)
``
if ((DMATxDescToSet->Status & ETH_DMATxDesc_OWN) != (u32)RESET)

{
return ETH_ERROR;
}

laocuo1142 发表于 2022-7-20 16:30

用烧写器跟踪检查一下

g0d5xs 发表于 2022-7-28 12:53

没遇到过啊,一般情况是优先级的问题

liu96jp 发表于 2022-7-28 13:15

你可以看看你的代码逻辑,也许能找到答案

ex7s4 发表于 2022-7-28 13:52

你用的是单片机内置的ETH么?

cen9ce 发表于 2022-7-28 14:18

是不是需要清除标记啊,DMA中断之后得清除标记的呀

zhizia4f 发表于 2022-7-28 14:45

你仿真可以调试,看看能不能找到问题

y1n9an 发表于 2022-7-30 07:34

中断接收没问题的,发送采用DMA么?

suw12q 发表于 2022-7-30 08:21

你可以调整一下优先级,看看是否可以解决

w2nme1ai7 发表于 2022-7-30 09:45

描述符一直拥有DMA?是啥意思啊?

p0gon9y 发表于 2022-7-30 10:28

这不是返回错误么,你可以复位一下网络部分,是不是发送数据过多啊

q1d0mnx 发表于 2022-7-30 11:16

这个错误,你可以去应用手册上查一下,因为什么才会出现这个错误

fuluoce 发表于 2024-4-15 11:17

请问解决了吗我也碰到这个问题了

dd20080808 发表于 2024-7-16 19:46

fuluoce 发表于 2024-4-15 11:17
请问解决了吗我也碰到这个问题了

我用STM32H743也遇到了,解决了吗

4c1l 发表于 2024-7-27 11:18

DMA配置错误可能导致DMA无法正确处理传输,造成描述符状态一直为DMA拥有。

4c1l 发表于 2024-7-27 11:23

描述符的状态位设置正确吗?特别是ETH_DMATxDesc_OWN

公羊子丹 发表于 2025-2-9 09:10

你检查过发送描述符有没有正常更新吗?可能是DMA传输过程中卡住了。

周半梅 发表于 2025-2-9 09:11

这种情况是不是和发送缓冲区没有及时释放有关?我记得需要手动清理描述符。

帛灿灿 发表于 2025-2-9 09:13

你有没有试过看ETH_DMATxDesc_OWN一直被置位时DMA的寄存器状态?可能能找到异常原因。

童雨竹 发表于 2025-2-9 09:14

可能是描述符链表配置有问题,检查下DMATxDescToSet的指针是否正确连接。
页: [1] 2
查看完整版本: 以太网描述符ETH_DMATxDesc_OWN异常