ESP8266 Node MCU连接wifi怎么看是不是已连上-Arduino中文社区 - Powered by Discuz!

Arduino中文社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 2057|回复: 2

ESP8266 Node MCU连接wifi怎么看是不是已连上

[复制链接]
发表于 2020-3-14 11:06 | 显示全部楼层 |阅读模式
本帖最后由 cdma2zj 于 2020-3-14 11:06 编辑

QQ五笔截图未命名.png
代码:
[mw_shl_code=cpp,true]print("Starting....");


station_cfg={}
station_cfg.ssid="MJ"
station_cfg.pwd="pa06561123"
station_cfg.save=false
wifi.sta.config(station_cfg)
wifi.sta.connect()
dotimes=0
while wifi.sta.getip() == nil and dotimes<100 do
    dotimes=dotimes+1
    print("Connecting..."..dotimes)
    tmr.delay(100)
end
tmr.delay(500)
if dotimes<100 then
    print("Connected, IP is "..wifi.sta.getip())
else
    print("Connect Err")
end

tmr.create():alarm(5000, tmr.ALARM_AUTO, function ()
    print("ok:"..wifi.sta.getip())
   
end)[/mw_shl_code]
根据固定官方https://nodemcu.readthedocs.io/en/master/modules/wifi/#wifistaconnect的说明,第9行的代码wifi.sta.connect(),有个回调connected_cb,但是不知道怎么写这人回调。我是想在连接成功或失败后再向下执行其它代码,所以写了个while循环,但是第14行tmr.delay(100)也不行,没有延时,一下就加到100次了
100次之后,那个每隔5秒打开一次IP却又能正常显示IP了。


 楼主| 发表于 2020-3-14 14:07 | 显示全部楼层
第14行tmr.delay(100)已经解决,它的延时单位是us,不是ms,1ms=1000us
 楼主| 发表于 2020-3-14 16:18 | 显示全部楼层
QQ五笔截图未命名.png
自己已经搞定



您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|Archiver|手机版|Arduino中文社区

GMT+8, 2024-11-28 06:27 , Processed in 0.080446 second(s), 18 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表