完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
我用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- gt;Instance)- gt;DMABMR |= ETH_DMABMR_SR; /* Wait for software reset */ while (((heth- gt;Instance)- gt;DMABMR amp; ETH_DMABMR_SR) != (uint32_t)RESET) { } 请问各位大刘是否遇到类似问题?麻烦帮忙指点下!万分感谢! 之前把while遇见屏蔽掉,复位后不进行判断,但代码移植后始终无法通信,表现为MAC无法收发数据,DP83848能连接上。不知在复位不成功对后续DMA收发是否有影响? |
|
相关推荐
1个回答
|
|
对于你遇到的软件复位失败的问题,你可以尝试以下方法来解决:
1. 确保正确配置了以太网控制器(MAC)和外设(PHY),包括正确的时钟和引脚配置等,确保它们之间的连接正常。 2. 检查官方代码是否正确配置了以太网控制器和外设,确保没有遗漏或错误的配置。 3. 确保你使用的是适当的时钟源,如果时钟源的配置不正确,可能会导致复位失败。 4. 确保为以太网控制器配置了正确的系统时钟频率,以确保与外设的正确通信。 5. 尝试在复位完成后,手动清除以太网总线模式寄存器的SR位,验证是否能够成功复位。 6. 检查以太网外设提供商的文档,了解有关复位过程的更多细节和限制。可能存在某些特定的步骤或顺序,以确保复位成功。 7. 如果可能的话,尝试更新以太网控制器和外设的固件版本,以修复可能存在的错误或问题。 在调试过程中,还应注意确保正确的时序和同步,以避免不可预测的行为和错误。同时,可能还需要仔细检查其他可能导致问题的代码部分,例如中断处理程序或其他相关的初始化步骤。 |
|
|
|
只有小组成员才能发言,加入小组>>
调试STM32H750的FMC总线读写PSRAM遇到的问题求解?
1590 浏览 1 评论
X-NUCLEO-IHM08M1板文档中输出电流为15Arms,15Arms是怎么得出来的呢?
1529 浏览 1 评论
962 浏览 2 评论
STM32F030F4 HSI时钟温度测试过不去是怎么回事?
676 浏览 2 评论
ST25R3916能否对ISO15693的标签芯片进行分区域写密码?
1572 浏览 2 评论
1856浏览 9评论
STM32仿真器是选择ST-LINK还是选择J-LINK?各有什么优势啊?
630浏览 4评论
STM32F0_TIM2输出pwm2后OLED变暗或者系统重启是怎么回事?
512浏览 3评论
520浏览 3评论
stm32cubemx生成mdk-arm v4项目文件无法打开是什么原因导致的?
495浏览 3评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-17 11:25 , Processed in 0.710763 second(s), Total 81, Slave 63 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号