W801的WiFi重连

发布于 2022-05-26 23:13:09

我用的W801模块,先让路由器稳定后,再给w801上电配置WiFi,能成功连接路由器,我用的是UDP广播通信,也很稳定,但模块不断电重启路由器,模块判断失败后再重新初始化配置就无法重连,只能让w801模块重新上电或按下复位件才能连接,不确定是哪部分数据需要清楚吗?我已经提前关闭了socket,主函数如下
while(1)

{
    while(wifi_connect_ST==0)//判断连接状态,0为未连接
        {
     close_udp_socket_demo(); //关闭socket
     demo_connect_net(ssid,pwd);
     tls_os_time_delay(3000);
        }
    socket_udp_demo(1,20000,"192.168.1.255");
    tls_os_time_delay(100);
    //发送数据
    if(wifi_connect_ST==1)
     {
      udp_send_data_self(test_data,10);
      tls_os_time_delay(500);
      }
    
}

先开路由器后给模块上电这程序没问题,中途重启路由器就无法登录,求大神指点

查看更多

关注者
0
被浏览
324
2 个回答
ZYQ
ZYQ 2022-05-28
往前看,不回头!!!

不用这么麻烦 直接调用 setAutoConnectMode(); 让他自动重新连接就OK,关闭socket 注册个回调函数在里面判断下就OK tls_netif_add_status_event(); 里面有断开事件

isme
isme 认证专家 2022-05-30
冰镇大西瓜

自动重连建议参考这个demo,通过蓝牙配网成功后也会自动打开自动重连功能。

    u8 auto_reconnect = 0xff;
    tls_wifi_auto_connect_flag(WIFI_AUTO_CNT_FLAG_GET, &auto_reconnect);
    if(auto_reconnect != WIFI_AUTO_CNT_ON)
    {
        auto_reconnect = WIFI_AUTO_CNT_ON;
        tls_wifi_auto_connect_flag(WIFI_AUTO_CNT_FLAG_SET, &auto_reconnect); 
        tls_wifi_connect((u8 *)"w600", strlen("w600"), (u8 *)"12345678", strlen("12345678"));
        printf("--->WIFI_AUTO_CNT_FLAG_SET ON\n");
    }

撰写答案

请登录后再发布答案,点击登录

发布
问题

分享
好友

手机
浏览

扫码手机浏览