如何解决ESP32反复重启的问题!?

文章讲述了作者在使用ESP32模块时遇到的重启问题,通过分析引导信息发现是由于电压不稳定引起的Brownout。文章列举了可能的原因和解决方案,包括电源、硬件、环境、软件和外设冲突等方面。
摘要由CSDN通过智能技术生成

1.最进在使用ESP32模块,使用Arduino框架构建程序,就简单几行程序。再打开串口工具软件输出一下信息:


Brownout detector was triggered

ets Jun  8 2016 00:22:57

rst:0xc (SW_CPU_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
configsip: 0, SPIWP:0xee
clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
mode:DIO, clock div:1
load:0x3fff0030,len:1184
load:0x40078000,len:13260
load:0x40080400,len:3028
entry 0x400805e4

根据提供的信息,这是ESP32启动时的引导信息。其中包含了一些有关启动过程的详细信息,

看了网上一些博主分享的解决办法,我尝试用了他们的方法,出现上面输出信息.....

所以上面的图是解决后的输出信息!

分析输出内容:

"Brownout detector was triggered" 表示ESP芯片检测到了电压下降(电压失调)的情况。这种情况通常发生在芯片所需的电压供应不足时。

可能的常见原因包括:

  1. 电源问题:ESP32需要稳定的供电。如果供电不稳定,可能会导致芯片重启。确保你使用的电源能够提供足够的电流,并检查电源线路是否存在问题。(2.这个是现在我遇到的问题!

  2. 硬件损坏:ESP32芯片或其他硬件元件的损坏可能导致系统重启。检查芯片和其他电子元件是否正常工作,确保它们没有受到损坏。

  3. 环境问题: 工作环境中可能存在干扰或者电磁波影响,导致电压供应不稳定。过高的温度可能导致ESP32重启,并提供适当的散热措施。

  4. 软件更新问题:如果你最近升级了ESP32的固件或库,可能会导致兼容性问题或错误。回退到之前的稳定版本,并检查是否解决了重启问题。(1.这个是现在我遇到的问题!

  5. 外设冲突:某些外设可能与ESP32引脚冲突,导致芯片重启。检查你的电路设计和接线是否正确,确保外设与ESP32兼容并正常工作。

  6. 软件错误:软件编程错误可能会导致ESP32重启。检查你的代码是否存在死循环、内存溢出或其他错误。确保你的代码没有导致系统崩溃并重启。(中断函数中不能有阻塞程序,要不然也会发送反复重启!!!!

 如果你无法确定重启问题的具体原因,可以使用调试工具(如串口监视器)来获取更多的错误信息,以帮助你定位问题并解决重启的根本原因。

解决这个问题的方法包括:

  • 检查电源供应,确保其提供足够稳定的电压给芯片。
  • 检查电路设计和连接,确保没有因为电路问题导致电压不稳定。
  • 在工作环境中减少电磁干扰的影响。

让我们逐行来解释:

  1. rst:0xc (SW_CPU_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)

    • 这说明了引导时的复位原因(软件CPU复位)以及引导模式(从SPI Flash快速启动)。
  2. configsip: 0, SPIWP:0xee

    • 这里描述了芯片的配置参数,包括了sip配置和写保护位的设置。
  3. clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00

    • 这部分给出了时钟驱动和数据驱动等参数的配置,每个参数对应不同的引脚和外设。
  4. mode:DIO, clock div:1

    • 这说明了SPI Flash的模式(DIO)和时钟分频器的设置。
  5. load:0x3fff0030,len:1184

    • 这是在引导过程中加载的程序的起始地址和长度。
  6. load:0x40078000,len:13260

    • 这是另一个程序加载的起始地址和长度。
  7. load:0x40080400,len:3028

    • 这是另一个程序加载的起始地址和长度。
  8. entry 0x400805e4

    • 最后一行给出了程序的入口地址。

注意:起初我的ESP32串口输出不是这个信息。我使用的是这个开发模块

然后我去换了供电方式,这个时候模块正常。就有点奇怪我买来的时候USB供电正常,过一段时间拿ESP32模块测试程序才发现这个问题!

我解决步骤1.重新下载新固件(ESP32_GENERIC-IDF3-20200902-v1.13.bin)参考这位博主说明:http://t.csdnimg.cn/jCvA5

http://t.csdnimg.cn/tv7Rm 

2.重新下载程序后。此时的串口输出的内容是文章上面分析的内容。

总结:

  仅供学习参考!

 在某些情况下我们所遇到的问题可能不同!但是不慌,办法是有的! 可能需要时间!!!!

希望你不要遇到此类问题。 好运上你身!哈哈哈哈! iTEM

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值