zhang..yb 发表于 2011-10-9 10:10:57

在电脑 Ping 板子时断开板子电源再送电,网络恢复不过来

刚发现的问题,在实用中有影响,如果板子在上电时网络在向其收发数据,上电后板子的网络功能就失效,有没有办法可解决?

ffxz 发表于 2011-10-10 09:14:09

你的硬件 & 网卡驱动不对。

需要添加上PHY中断通知功能,这样协议栈能够比较好的知道底层网卡的状态。

zhang..yb 发表于 2011-10-10 09:22:45

怎么改? 问题是如果加了 FINSH 并接上终端一点问题都没有,在电脑连续 PING 板子时断电上电也能自行恢复

ffxz 发表于 2011-10-10 09:25:49

你的到底是什么问题?

zhang..yb 发表于 2011-10-10 09:40:17

硬件 STM32F103VBT6+ENC28J60+RTT0.3.3,用 LWIP,在用 FINSH 调试系统时无论怎样开和关板子电源,网络功能都能自行恢复,但是去掉 FINSH 板子上电后网络有时能正常工作,有时不能,网络不正常的话只能关电重起才有可能恢复。FINSH 只是提供了人机交互功能,怎么和这有关,是不是 FINSH 和LWIP 初始化有关?

ffxz 发表于 2011-10-10 11:47:42

finsh与其他无关。

记得上次有说,去掉finsh后,会触发magic != HEAP_MAGIC的ASSERT。如果是这个,应该是发生了内存越界,需要先把这个问题找到的。

zhang..yb 发表于 2011-10-10 12:01:49

这个极少出现的,如果和这有关的话为什么在 FINSH 下能正常工作呢?感觉和初始化 ENC28J60 的时间有关。还补充一点,如果编译加进了 FINSH 但串口上不接终端的话断电重起板子网络还是会有问题的

zhang..yb 发表于 2011-10-11 09:37:24

问题解决了,按网友的提示在 ENC28J60 中断服务程序中加几条语句就可以了,无论怎样断电 断网都能自行恢复

haitao10086 发表于 2011-11-9 20:52:31

有没有试过关闭PC服务端软件,一段时间后,再开启服务端软件,可以正常连接吗?

zhang..yb 发表于 2011-11-10 10:57:12

可以的,处理器端是按服务端方式编程,是被动访问并回复
页: [1]
查看完整版本: 在电脑 Ping 板子时断开板子电源再送电,网络恢复不过来