当前位置: 首页 > news >正文

WIFI原因造成ESP8266不断重启的解决办法

一、报错 

报错信息如下:

21:37:21.799 ->  ets Jan  8 2013,rst cause:2, boot mode:(3,7)
21:37:21.799 -> 
21:37:21.799 -> load 0x4010f000, len 3424, room 16 
21:37:21.799 -> tail 0
21:37:21.799 -> chksum 0x2e
21:37:21.799 -> load 0x3fff20b8, len 40, room 8 
21:37:21.799 -> tail 0
21:37:21.799 -> chksum 0x2b
21:37:21.799 -> csum 0x2b
21:37:21.799 -> v00043720
21:37:21.799 -> ~ld

二、成因

由于ESP8266在WiFi连接循环中没有加入适当的延时或处理机制,导致看门狗定时器(WDT)触发重启。

问题分析:
  1. 纯空循环会占用全部CPU资源
  2. 没有给系统处理网络事件的时间
  3. 看门狗定时器会因此触发硬件复位
void setup() {.........省略部份代码while (WiFi.status() != WL_CONNECTED) {}.........省略部份代码}

三、解决办法

  1. 必须加入延时函数让出CPU时间
  2. 建议设置超时机制
  3. 最好添加重连计数和状态显示

修正后的代码如下: 

void setup() {.........省略部份代码while (WiFi.status() != WL_CONNECTED) {delay(500);                         // 关键延时!Serial.print(".");}.........省略部份代码}

相关文章:

  • 【Linux驱动开发 ---- 4.2_平台设备(Platform Devices)概述】
  • 电影感户外柔和光线人像街拍摄影后期Lr调色教程,手机滤镜PS+Lightroom预设下载!
  • 【内存】Linux 内核优化实战 - vm.max_map_count
  • Java枚举类如何避免反射攻击和序列化攻击
  • 零基础RT-thread第四节:电容按键
  • 自动化性能回退机制——蓝绿部署与灰度发布
  • Electron (02)集成 SpringBoot:服务与桌面程序协同启动方案
  • 回文链表C++
  • 设计模式精讲 Day 8:组合模式(Composite Pattern)
  • Transformer实战——Hugging Face环境配置与应用详解
  • 什么是seata
  • node.js在vscode的配置
  • 多线程八股
  • 【小程序】如何生成特定页面的小程序码
  • 代码审计-fastjson反序列化漏洞
  • .NET基于类名约定的自动依赖注入完整指南
  • python+uniapp基于微信小程序的高校二手商品交易系统
  • NVR的方法多种取决于应用场景
  • PVE使用ubuntu-cloud-24.img创建虚拟机并制作模板
  • 20250620在荣品的PRO-RK3566开发板的Android13系统的uboot阶段就拉高GPIO2C6【driver模式】
  • 上海网站优化推广/百度联盟广告收益
  • 百度怎么自己做网站/推广网站最有效办法
  • 设计师联盟网是谁创建的/百度ocpc怎么优化
  • index.html网站怎么做/蚂蚁链接bt链接
  • 西宁高端网站建设/千峰培训多少钱
  • 众筹网站制作/品牌营销咨询公司