
我用stm32f417zg+dp83848调试以太网遇到软件复位失败问题,单步调试发现在复位MAC内部寄存器时对以太网总线模式寄存器(ETN_DMABMR)软件复位SR位置1后,硬件未自动清除该位,导致软件,导致代码进入while死循环。 这问题在用官网代码上也复位不成功。代码如下: /* Ethernet Software reset */ /* Set the SWR bit: resets all MAC subsystem internal registers and logic */ /* After reset all the registers holds their respective reset values */ (heth->Instance)->DMABMR |= ETH_DMABMR_SR; /* Wait for software reset */ while (((heth->Instance)->DMABMR & ETH_DMABMR_SR) != (uint32_t)RESET) { } 请问各位大刘是否遇到类似问题?麻烦帮忙指点下!万分感谢! 之前把while遇见屏蔽掉,复位后不进行判断,但代码移植后始终无法通信,表现为MAC无法收发数据,DP83848能连接上。不知在复位不成功对后续DMA收发是否有影响? |
我用107也遇到了这个问题,请问您现在问题解决了吗
评分
查看全部评分