我用STM32F4及LAN8720按照原子的电路,自己画的电路板,用例程《网络通信实验》的TCP Client测试程序,在学习班上云行正常,在我的板上运行,程序运行到:“ while (ETH_GetSoftwareResetStatus() == SET);//等待软件重启网络完成 ”出现死循环,不知什么原因,请大师指点。谢谢。下面是原子的例程程序。 u8 ETH_MACDMA_Config(void) { u8 rval; ETH_InitTypeDef ETH_InitStructure; //使能以太网时钟 RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_ETH_MAC | RCC_AHB1Periph_ETH_MAC_Tx |RCC_AHB1Periph_ETH_MAC_Rx, ENABLE); ETH_DeInit(); //AHB总线重启以太网 ETH_SoftwareReset(); //软件重启网络 while (ETH_GetSoftwareResetStatus() == SET);//等待软件重启网络完成 !!这里出问题了 ETH_StructInit(Ð_InitStructure); //初始化网络为默认值 FlagStatus ETH_GetSoftwareResetStatus(void) { FlagStatus bitstatus = RESET; if((ETH->DMABMR & ETH_DMABMR_SR) != (uint32_t)RESET) { bitstatus = SET; } else { bitstatus = RESET; } return bitstatus; } |
|
来自: wwkfisker1 > 《待分类》