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
被浏览
1. 3k
2 个回答
ZYQ
ZYQ 2022-05-28
我已不再支持 W80X 任何相关问题的回复, 请大家不要私信, 有问题找 isme 谢谢

不用这么麻烦 直接调用 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") ; 
    }

撰写答案

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

发布
问题

分享
好友

手机
浏览

扫码手机浏览