开发板在没有插网线时,运行死机。

2019-07-20 23:48发布

开发板在没有插网线时,IP地址为固定时运行正常,其他程序能运行;IP地址为自动获取时,运行lwip_comm_init()不能完成,一直停留。请问什么原因?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
7条回答
正点原子
1楼-- · 2019-07-21 00:27
回复【6楼】askh:
---------------------------------
F407的网络,必须插上网线.
否则要等待很久....才会超时溢出.
这个你要修改的话,改st的底层网口驱动代码.
askh
2楼-- · 2019-07-21 04:51
一旦插上网线,程序可以继续忘下走,网络连接也同,可以进行其他的操作。
jermy_z
3楼-- · 2019-07-21 06:39
是不是这个函数,不获取到IP就一直死循环

你追踪进去看看
askh
4楼-- · 2019-07-21 07:14
 精彩回答 2  元偷偷看……
正点原子
5楼-- · 2019-07-21 12:03
 精彩回答 2  元偷偷看……
askh
6楼-- · 2019-07-21 14:51
在这个函数的uint32_t ETH_Init(ETH_InitTypeDef* ETH_InitStruct, uint16_t HYAddress)的
这句
do
    {
      timeout++;
    } while (!(ETH_ReadPHYRegister(PHYAddress, HY_BSR) & HY_Linked_Status) && (timeout < HY_READ_TO));
等非常长的时间。

在u8 LAN8720_Init(void)中
rval=ETH_MACDMA_Config();返回值为设置不成功;

在u8 ETH_MACDMA_Config(void)中
rval=ETH_Init(Ð_InitStructure,LAN8720_PHY_ADDRESS);配置ETH不成功

lwip_comm_init()的返回值为2;LAN8720_Init()设置不成功;

一周热门 更多>