1.我使用的GD32F427, 参考GD32F4xx_Firmware_Library_V3.1.0\Examples\ENET\Telnet案例进行网口调试 系统时钟和AHB时钟均为200MHz。初始化ENET过程中,调用enet_deinit()后,ENET_DMA_BCTL & ENET_DMA_BCTL_SWR一直不能清0。
2.把enet_deinit()中的rcu_periph_reset_disable(RCU_ENETRST)处理注释后,ENET_DMA_BCTL & ENET_DMA_BCTL_SWR成功清0,但继续初始化PHY,发现ENET_MAC_PHY_CTL又写不了值。
3.在enet_software_reset()重新调用rcu_periph_reset_disable(RCU_ENETRST),不管ENET_DMA_BCTL & ENET_DMA_BCTL_SWR为置位态,继续初始化PHY,ENET_MAC_PHY_CTL能写入值,但读写都没反应,PHY侧测不到MDC时钟。
4.尝试把时钟降低到100MHz, 没效果,PHY侧还是测不到MDC时钟。
刚开始入门嵌入式,折腾好几天了,怀疑人生 有遇到过相同问题的同学没,咋解决的? 求助各大佬指点指点小弟。 |