本帖最后由 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悬赏,比表感谢,微信支付宝转账都可以!
今天早上找到一个检测网络连接的方法,具体代码还没有研究,用的是检测网络的连接状态,回头有空看看,
- uint8_t tmp;
- ctlwizchip(CW_GET_PHYLINK, (void*)&tmp);
- if(tmp != PHY_LINK_ON){
- do{
- ret = network_config();
- }while(ret != 0);
- }
复制代码用上面的方法检测连接是否正常,若不正常则重新配置网络参数,应该能能继续发送了。
野火的那个例程是断线后是可以的,好像他的用的不是中断方式,泥人这个是中断方式的,断线了就不行了
- else if(W5500_Send_Delay_Counter >= 500)//
- {
- if(S0_State == (S_INIT|S_CONN))
- {
- S0_Data&=~S_TRANSMITOK;
- memcpy(Tx_Buffer, "
Welcome To NiRenElec!
", 23);
- Write_SOCK_Data_Buffer(0, Tx_Buffer, 23);//
- }
- W5500_Send_Delay_Counter=0;
- }
复制代码只要是接受发送和定时发送写在一起,或者只有定时发送,就会出现断线重连后发不了数据的情况,估计是定时发送时寄存器哪里还是没有设置好,再继续研究研究吧
一周热门 更多>