100人民币求帮看下W550程序UDP断开重连的问题

2020-01-01 17:41发布

本帖最后由 337zhang 于 2016-12-31 23:00 编辑

100元RMB求熟悉W5500的亲们帮看下下面这个程序,为什么断开网线重新连接后,UDP就不能自动收发了,也ping不通模块的IP地址了
是不是程序中少了哪部分?用的是中断接收数据的方式,程序是以前买的泥人的W5500模块附送的程序
泥人W5500模块-UDP模式例程.rar (4.25 MB, 下载次数: 19) 2016-12-31 22:53 上传 点击文件名下载附件

重新编辑帖子原因:另增加100RMB悬赏,比表感谢,微信支付宝转账都可以!
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
26条回答
337zhang
1楼-- · 2020-01-03 16:40
阿豪博士 发表于 2017-1-1 19:45
解决办法:

在发送每条信息或者配置信息的时候,每一条都要加上一个延时。

今天早上找到一个检测网络连接的方法,具体代码还没有研究,用的是检测网络的连接状态,回头有空看看,
  1. uint8_t tmp;
  2. ctlwizchip(CW_GET_PHYLINK, (void*)&tmp);
  3. if(tmp != PHY_LINK_ON){
  4.   do{
  5.     ret = network_config();
  6.   }while(ret != 0);
  7. }
复制代码

用上面的方法检测连接是否正常,若不正常则重新配置网络参数,应该能能继续发送了。
野火的那个例程是断线后是可以的,好像他的用的不是中断方式,泥人这个是中断方式的,断线了就不行了
bbs2009
2楼-- · 2020-01-03 17:16
 精彩回答 2  元偷偷看……
topdreams
3楼-- · 2020-01-03 19:39
W5500里面,hpy死机了,我是用机制是定时中断检查外部中断是不是有异常,有则硬件复位
一度梦想
4楼-- · 2020-01-03 21:12
来看看,最近也打算用w5500
zjk
5楼-- · 2020-01-04 02:04
原来做过一个网络调试的,现象相似,后来找到原因,是服务器端的问题,客户端已经断了并进行了重连,但服务器端没有做出相应的反应,这样服务器端怎么样都收不到客户端发出的数据。
handshake
6楼-- · 2020-01-04 02:39
这几天感冒了,效率低,没怎么弄,今天仔细对比了下,发现屏蔽掉while循环中的以下代码时,就可以断线重连了
  1. else if(W5500_Send_Delay_Counter >= 500)//
  2.                 {
  3.                         if(S0_State == (S_INIT|S_CONN))
  4.                         {
  5.                                 S0_Data&=~S_TRANSMITOK;
  6.                                 memcpy(Tx_Buffer, " Welcome To NiRenElec! ", 23);        
  7.                                 Write_SOCK_Data_Buffer(0, Tx_Buffer, 23);//
  8.                         }
  9.                         W5500_Send_Delay_Counter=0;
  10.                 }
复制代码

只要是接受发送和定时发送写在一起,或者只有定时发送,就会出现断线重连后发不了数据的情况,估计是定时发送时寄存器哪里还是没有设置好,再继续研究研究吧

一周热门 更多>