完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
在 esp8266 启动时,它会尝试连接到接入点。
代码:全选uint8_t UDP_Start(char* ssid, char* pass, uint16_t loc_port) { uint32_t timeout = 0; if (WiFi.status() != WL_CONNECTED) { rt_parameters.wifi_mode = WIFI_STA; WiFi.mode(WIFI_STA); WiFi.begin(ssid, pass); if (sys_parameters.debug) Serial.println(\"Waiting for connection\"); while (WiFi.status() != WL_CONNECTED) { delay(DELAY_TICK); if (sys_parameters.debug) Serial.print(\'.\'); timeout++; if (timeout >= sys_parameters.ap_con_timeout) { if (sys_parameters.debug) Serial.println(); return UDP_WIFI_ERR; } } Serial.print(\"\\nConnection time (ms) \"); Serial.println(DELAY_TICK * timeout); } rt_parameters.wifi_status = WiFi.status(); IPAddress ip_addr = WiFi.localIP(); memcpy(sys_parameters.loc_ip, ip_addr, 4); if (sys_parameters.debug) { Serial.print(\"Connected! IP address: \"); Serial.println(ip_addr); Serial.printf(\"UDP server on port %d\\n\", loc_port); } if (udp.begin(loc_port) == 0) return UDP_CONNECT_ERR; return UDP_OK; } 有时需要相当长的时间——6-10 秒。有时需要 30-60 秒。有时它会超时,状态为 WL_CONNECT_FAILED WL_NO_SSID_AVAIL 当它为 WL_NO_SSID_AVAIL 时,我执行 WiFi.scanNetworks() 并查看我的接入点。 我怎样才能改善这种情况? |
|
相关推荐
|
|
只有小组成员才能发言,加入小组>>
1108 浏览 1 评论
574浏览 6评论
477浏览 5评论
有没有办法在不使用混杂模式的情况下实现Wifi驱动程序接收缓冲区访问中断呢?
460浏览 5评论
461浏览 4评论
435浏览 4评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-19 15:13 , Processed in 0.999052 second(s), Total 76, Slave 60 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号