dhyana 发表于 2011-6-27 00:03:45

有没有好的办法处理STM32F107和LWIP没有插上网线的时候初始化的网络无效问题?

环境:RTT031 LWIP STM32F107+DP83848
在初始化的时候,如果没有插网线,则在eth_init中,由于没有获得link状态,之后都是错误.网络就失败了.
即使以后插上网线,也没有重新初始化这部分.
有没有好的办法,可以在每次重新插上网线后,根据网络自动协商的速度,重新初始化?

physis 发表于 2011-6-27 00:16:11

刚翻了一下83848的DS
83848有INT中断输出引脚
你可以尝试配置让寄存器让phy产生能量检测中断,或者链路状态检测中断给MCU

在DS的53页

dhyana 发表于 2011-6-27 00:32:34

刚才看了一下,确实可以读到连接状态.
该状态在
30793 断开
30825 协商
30829 连接

然后重新初始化网络部分就可以了.
还需要测试下,已经运行中的使用到网络的那些任务是否受到影响.

cnsxgh 发表于 2011-12-1 14:26:21

楼上的朋友,对于DM9161怎么读取网络状态呢?

dhyana 发表于 2011-12-4 20:27:23

估计差不多.新的RTT0.4.0已经有这个功能了.
我没有做过DDM9161

Veiko 发表于 2012-10-31 09:42:32

dhyana 发表于 2011-6-27 00:32 static/image/common/back.gif
刚才看了一下,确实可以读到连接状态.
该状态在
30793 断开


好像LWIP协议里配置了相关的中断,中断进去里面有个状态值,当为0时表示已连接吧。这样子来判断应该可以吧!

wpf2053 发表于 2012-11-21 20:37:39

楼主在么?能否仔细解释一下解决办法?我也碰到相同问题。
http://www.amobbs.com/thread-5508051-1-1.html
页: [1]
查看完整版本: 有没有好的办法处理STM32F107和LWIP没有插上网线的时候初始化的网络无效问题?