有没有好的办法处理STM32F107和LWIP没有插上网线的时候初始化的网络无效问题?
环境:RTT031 LWIP STM32F107+DP83848在初始化的时候,如果没有插网线,则在eth_init中,由于没有获得link状态,之后都是错误.网络就失败了.
即使以后插上网线,也没有重新初始化这部分.
有没有好的办法,可以在每次重新插上网线后,根据网络自动协商的速度,重新初始化? 刚翻了一下83848的DS
83848有INT中断输出引脚
你可以尝试配置让寄存器让phy产生能量检测中断,或者链路状态检测中断给MCU
在DS的53页 刚才看了一下,确实可以读到连接状态.
该状态在
30793 断开
30825 协商
30829 连接
然后重新初始化网络部分就可以了.
还需要测试下,已经运行中的使用到网络的那些任务是否受到影响. 楼上的朋友,对于DM9161怎么读取网络状态呢? 估计差不多.新的RTT0.4.0已经有这个功能了.
我没有做过DDM9161 dhyana 发表于 2011-6-27 00:32 static/image/common/back.gif
刚才看了一下,确实可以读到连接状态.
该状态在
30793 断开
好像LWIP协议里配置了相关的中断,中断进去里面有个状态值,当为0时表示已连接吧。这样子来判断应该可以吧! 楼主在么?能否仔细解释一下解决办法?我也碰到相同问题。
http://www.amobbs.com/thread-5508051-1-1.html
页:
[1]