问题描述
问题:Brownout detector was triggered
翻译:已触发断电探测器
解决:换个电源,要不就是ESP32板子设计本身有问题,最终的大招,禁用断电探测器
含义:这个问题描述的是:ESP32的电平低于某个值(这个值是可以设定的,后文会有介绍),然后触发了断电探测器,断电探测器会使得ESP32重新启动。
引起问题原因分析:
1.有些笔记本的USB口供电不稳定,然后在某些硬件驱动模块工作时,供电电压突然下降引起这个问题。
比如下面的例子,在WIFI编程时:当程序执行到esp_wifi_start()时,由于RF初始化数据载入引起这个错误。这也是为什么有时候helloworld程序没有问题而其他时候出错,错误输出如下。
W (54) phy_init: failed to load RF calibration data (0x1107), falling back to full calibration
Brownout detector was triggered
2.ESP32板子本身存在问题,这个问题加一个电容就可以解决,不过新的板子不常见这样的问题,我这里给出一个ESP32的论坛,可以直接去搜这个问题里面有解决方法:ESP-IDF
禁用断电探测器的方法:
make menuconfig->component config->ESP32-specific->Hardware brownout detect & reset禁用掉这个选项,将不再检测电平。
或者也可在再这个选项的下面选择一个更合适的保护电平。