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条回答
snail_dongbin
1楼-- · 2020-01-02 17:20
TCP模式我用的多,UDP没怎么用过
linyu0395
2楼-- · 2020-01-02 22:23
没看到有你的接受程序放到中断里啊
阿豪博士
3楼-- · 2020-01-03 00:33
 精彩回答 2  元偷偷看……
337zhang
4楼-- · 2020-01-03 03:37
zxq6 发表于 2017-1-1 17:46
udp的还需要连接?

不需要链接,就是断开网线再插上,就发送不了数据了,也ping不同了
337zhang
5楼-- · 2020-01-03 08:21
armok 发表于 2017-1-1 17:48
我怎么看成100W人民币求....

100W人民币重金求子?
337zhang
6楼-- · 2020-01-03 13:55
linyu0395 发表于 2017-1-1 19:20
没看到有你的接受程序放到中断里啊

有中断的,用了INT那个管脚,有个W5500_Interrupt的标志位
  1. while (1)
  2.         {
  3.                 W5500_Socket_Set();//

  4.                 if(W5500_Interrupt)//´       
  5.                 {
  6.                         W5500_Interrupt_Process();//
  7.                 }
  8.                 if((S0_Data & S_RECEIVE) == S_RECEIVE)//
  9.                 {
  10.                         S0_Data&=~S_RECEIVE;
  11.                         Process_Socket_Data(0);//
  12.                 }
  13.                 else if(W5500_Send_Delay_Counter >= 500)//
  14.                 {
  15.                         if(S0_State == (S_INIT|S_CONN))
  16.                         {
  17.                                 S0_Data&=~S_TRANSMITOK;
  18.                                 memcpy(Tx_Buffer, " Welcome To NiRenElec! ", 23);       
  19.                                 Write_SOCK_Data_Buffer(0, Tx_Buffer, 23);//
  20.                         }
  21.                         W5500_Send_Delay_Counter=0;
  22.                 }
  23.         }
复制代码

一周热门 更多>