本帖最后由 hpdell 于 2017-2-16 11:03 编辑
请教下,dp83848 丢包严重 ??是什么情况造成的 ??
工程是使用 CubeMX V4.19(v4018) 版本自动产生的,貌似这个版本的CubeMX 有些问题,总是会出现找不到头文件的情况,v4.16版本的就没有这个问题。
丢包严重.png (27.8 KB, 下载次数: 0)
下载附件
2017-2-15 22:25 上传
void main(void)
{
... ...
while(1)
{
MX_LWIP_Process(); // 只有这个函数
}
}
void MX_LWIP_Process(void)
{
ethernetif_input(&gnetif);
/* Handle timeouts */
#if !NO_SYS_NO_TIMERS && NO_SYS
sys_check_timeouts();
#endif
}
你好,已经搞定了啊,硬件是没有问题,
是软件的问题,我目前使用的是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, ®value);
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, ®value);
regvalue |= PHY_MISR_LINK_INT_EN;
/* Enable Interrupt on change of link status */
HAL_ETH_WritePHYRegister(&heth, PHY_MISR, regvalue);
增加后运行一切稳定,目前看是这样的
一周热门 更多>