当前位置: 首页 > 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(".");}.........省略部份代码}

http://www.lryc.cn/news/572700.html

相关文章:

  • 【同声传译】RealtimeSTT:超低延迟语音转文字,支持唤醒词与中译英
  • npm 更新包名,本地导入
  • vue2通过leaflet实现图片点位回显功能
  • Fiddler抓包工具使用技巧:如何结合Charles和Wireshark提升开发调试效率
  • OpenCV C++ 边缘检测与图像分割
  • NY339NY341美光固态闪存NW841NW843
  • 【VUE】某时间某空间占用情况效果展示,vue2+element ui实现。场景:会议室占用、教室占用等。
  • PVE使用ubuntu-cloud-24.img创建虚拟机并制作模板
  • NVIDIA开源Fast-dLLM!解析分块KV缓存与置信度感知并行解码技术
  • 旋转图像C++
  • json.Unmarshal精度丢失问题分析
  • vue3组件式开发示例
  • 大模型与搜索引擎的技术博弈及未来智能范式演进
  • MySQL查询语句的通配符*
  • 组态王工程运行时间显示
  • 【案例拆解】米客方德 SD NAND 在车联网中(有方模块)的应用:破解传统 TF 卡振动脱落与寿命短板
  • 在VTK中捕捉体绘制图像进阶(同步操作)
  • 零基础入门PCB设计 一实践项目篇 第三章(STM32开发板原理图设计)
  • 云计算处理器选哪款?性能与能效的平衡艺术
  • 【网络安全】文件上传型XSS攻击解析
  • 特征金字塔在Vision Transformer中的创新应用:原理、优势与实现分析
  • AS32系列MCU芯片I2C模块性能解析与调试
  • 408第二季 - 组成原理 - 流水线
  • Linux之线程同步与互斥
  • Rust 学习笔记:Unsafe Rust
  • 使用 .NET Core 8.0 和 SignalR 构建实时聊天服务
  • OPENPPP2 VMUX 技术探秘(高级指南)
  • 北京京东,看看难度
  • 解锁决策树:数据挖掘的智慧引擎
  • ffmpeg 给视频画圆圈