ytulin 发表于 2013-4-1 08:59

LWIP断开重连问题

问题:
STM32F207使用LWIP做服务器,上位机做客户端,在以下两种情况下服务器与客户端无法连接
(1)STM32F207先完成设备以及协议栈的初始化,而上位机的bios还没有启动的时候,连接不成功!
(2)STM32F207的网线不连接上位机,启动将网线连接到上位机,连接失败!
其余情况下插拔网线或者上位机主动断开连接,都可以再次连接,大家有谁碰见过此类问题,或者能够提供解决思路?

jlass 发表于 2013-4-1 09:21

从你的描述来看,你的STM32F207初始化的时候,一旦发现连接不到上位机就会跳出,从而导致初始化未完成,估计还得从修改初始化部分代码。

ytulin 发表于 2013-4-2 10:34

jlass 发表于 2013-4-1 09:21 static/image/common/back.gif
从你的描述来看,你的STM32F207初始化的时候,一旦发现连接不到上位机就会跳出,从而导致初始化未完成,估 ...

昨天我测试了一下,第二个问题的原因在于网口初始化不成功,第一个问题能否给个建议,我的上位机是嵌入式主板

jlass 发表于 2013-4-2 10:46

不好说,感觉还是初始化的时候由于找不到上位机,从而跳掉某个不完善的分支去处理了,最好是加打印来缩小范围。

ytulin 发表于 2013-4-2 12:36

jlass 发表于 2013-4-2 10:46 static/image/common/back.gif
不好说,感觉还是初始化的时候由于找不到上位机,从而跳掉某个不完善的分支去处理了,最好是加打印来缩小范 ...

你所说的打印是启用
LWIP_DEBUGF(NETIF_DEBUG, ("ethernetif_input: IP input error\n"));
这样的语句吧?你以前有用过这种方式吗?

jlass 发表于 2013-4-2 12:39

本帖最后由 jlass 于 2013-4-2 12:41 编辑

直接用printk写,到处都加上,DEBUG的打印远远不够
如果不方便就直接用LWIP_DEBUGF(NETIF_DEBUG, ("******\n"));写,总之觉得有问题的地方就加上。

ytulin 发表于 2013-4-3 08:07

jlass 发表于 2013-4-2 12:39 static/image/common/back.gif
直接用printk写,到处都加上,DEBUG的打印远远不够
如果不方便就直接用LWIP_DEBUGF(NETIF_DEBUG, (" ...

嗯,我试试

ytulin 发表于 2013-4-17 17:37

问题在于以太网芯片没有正确初始化,LWIP 不做检查,直接跳出了
页: [1]
查看完整版本: LWIP断开重连问题