失去所有话语 2023-01-17 22:20 采纳率: 100%
浏览 16
已结题

ESP32 microPython pass用法

ESP32 microPython的network部分,修改官方给出的例程出现了一个不理解的现象。
下面是代码

def do_connect():
    print("Connecting...")
    wlan.active(True)
    wl = Wlanlist(wlan.scan())
    if not wlan.isconnected():
        if(wl.show('SSID')):#自己写的函数,用于检查是否存在对应SSID的WiFi
            wlan.connect('SSID','wifimima')
            while not wlan.isconnected():
                pass
            print("Connected")#没有生效
            return 1
        else:
            print("connect to FISHGAN10 failed")
            return 0
        
    if wlan.isconnected():
        print("Connected")
        return 2
    else:
        return 3

#测试部分    
print(do_connect())

对应的输出结果:

img

可以看到,在下面这个语句后面的print和return没有被执行

 while not wlan.isconnected():
                pass

搜索资料得pass是用于占位,那么这个while not函数是用来保证connect函数完成后程序再往下运行。那连接成功后为什么后面的语句没有执行呢。

  • 写回答

1条回答 默认 最新

  • 流比 2023-01-17 22:39
    关注

    这是因为在这个while循环中,一直没有满足条件(wlan.isconnected()为False),所以一直在循环中,直到连接上网络才会满足条件退出循环,所以后面的print和return语句没有执行。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 2月5日
  • 已采纳回答 1月28日
  • 创建了问题 1月17日

悬赏问题

  • ¥15 Vue3 大型图片数据拖动排序
  • ¥15 划分vlan后不通了
  • ¥15 GDI处理通道视频时总是带有白色锯齿
  • ¥20 用雷电模拟器安装百达屋apk一直闪退
  • ¥15 算能科技20240506咨询(拒绝大模型回答)
  • ¥15 自适应 AR 模型 参数估计Matlab程序
  • ¥100 角动量包络面如何用MATLAB绘制
  • ¥15 merge函数占用内存过大
  • ¥15 使用EMD去噪处理RML2016数据集时候的原理
  • ¥15 神经网络预测均方误差很小 但是图像上看着差别太大