📅  最后修改于: 2023-12-03 15:38:52.622000             🧑  作者: Mango
在 ESP32CAM 模块中,有一个掉电检测器(Power Fail Detector,简称 PFD)的功能,在检测到供电异常时会自动重启。这种功能在某些情况下可能会导致不希望的行为,因此对于某些应用程序,需要禁用该功能。
本文将介绍如何禁用掉电检测器 ESP32CAM。
通过修改 ESP32CAM 的代码来禁用 PFD 功能。
具体操作步骤如下:
进入 ESP32CAM 开发环境,打开相关源代码。
找到 void setup() {}
函数,可以在其中进行设置。
在 setup()
函数中调用 rtc_clk_cpu_freq_set(RTC_CPU_FREQ_80M)
,将 CPU 时钟频率设置为 80MHz。例如:
void setup() {
rtc_clk_cpu_freq_set(RTC_CPU_FREQ_80M);
// ...
}
在 setup()
函数中调用 rtc_clk_cpu_freq_set(RTC_CPU_FREQ_80M)
后,需要添加以下代码来禁用 PFD 功能:
WRITE_PERI_REG(RTC_CNTL_BROWN_OUT_REG, 0); //disable brownout detector
WRITE_PERI_REG(RTC_CNTL_BROWN_OUT_RESET_REG, 0); //disable brownout detector reset
整个 setup()
函数的代码示例如下:
void setup() {
rtc_clk_cpu_freq_set(RTC_CPU_FREQ_80M);
WRITE_PERI_REG(RTC_CNTL_BROWN_OUT_REG, 0); //disable brownout detector
WRITE_PERI_REG(RTC_CNTL_BROWN_OUT_RESET_REG, 0); //disable brownout detector reset
// ...
}
将修改后的代码上传到 ESP32CAM 模块中,重新启动即可生效。
通过修改 ESP32CAM 的代码来禁用掉电检测器功能,操作简单,但需注意修改代码的安全性。
如有疑问或建议,请在留言区留言,感谢您的阅读!