|

楼主 |
发表于 2017-2-17 09:47:52
|
显示全部楼层
回 hpdell 的帖子
hpdell:
你好,硬件应该是木有什么问题的了,
底层的话,就只有驱动接口有关是吧 ?? 还有没有哪些东东有关啊 ?  你好,硬件应该是木有什么问题的了,
底层的话,就只有驱动接口有关是吧 ?? 还有没有哪些东东有关啊 ?
已经搞定了,是初始化的问题了,具体如下:
你好,已经搞定了啊,硬件是没有问题,
是软件的问题,我目前使用的是CubeMX v4.19版本的工具软件来自动产生代码的
对比 CubeMX v4.16 版本自动产生的代码,发现在 low_level_init 这个里面少了如下代码:
/**** Configure PHY to generate an interrupt when Eth Link state changes ****/
/* Read Register Configuration */
HAL_ETH_ReadPHYRegister(&heth, PHY_MICR, &regvalue);
regvalue |= (PHY_MICR_INT_EN | PHY_MICR_INT_OE);
/* Enable Interrupts */
HAL_ETH_WritePHYRegister(&heth, PHY_MICR, regvalue );
/* Read Register Configuration */
HAL_ETH_ReadPHYRegister(&heth, PHY_MISR, &regvalue);
regvalue |= PHY_MISR_LINK_INT_EN;
/* Enable Interrupt on change of link status */
HAL_ETH_WritePHYRegister(&heth, PHY_MISR, regvalue);
增加后运行一切稳定,目前看是这样的 |
|