最近在
STM32f411平台调试了一套: rt-thread+ec600+ota+mqtt的实例,为之后的项目做准备,先说一下,调试过程中我遇到的问题:
1、刚启动的时候,可以ping 通网址,过一会,就不行了,网卡设备就掉了,再也不能Ping 了
2、但是这个时候mqtt发送消息是可以的正常的,ota升级也是可以的,但是mqtt用到了Ping命令,会间断的重新启动mqtt服务
3、以上两个问题影响了设备的稳定性,立志解决他们。
解决过程:
1、边调试,边查看源码,发现是这个Link_up断开了

2、由于这个连接状态的改变,导致了网卡设备的异常,我们再来找这个标志是怎么判定的,最终在这个地方找到了原因,因为我没有使用power_pin,所以这里直接返回了RT_ERROR,对于这点,貌似 相关资料并没有提到

3、找到问题原因,接下来我们说怎么做,
3.1 第一种-不修改官方库,在自己的函数中,获取网卡设备,自己设置: ec200x->power_status = RT_TRUE;3.2 第二种-修改官方库,在初始化函数中,将default power状态改为on如下图:

4、改完以后,网卡就比较稳定了