📜  如何禁用掉电检测器 esp32cam (1)

📅  最后修改于: 2023-12-03 15:38:52.622000             🧑  作者: Mango

如何禁用掉电检测器 ESP32CAM

在 ESP32CAM 模块中,有一个掉电检测器(Power Fail Detector,简称 PFD)的功能,在检测到供电异常时会自动重启。这种功能在某些情况下可能会导致不希望的行为,因此对于某些应用程序,需要禁用该功能。

本文将介绍如何禁用掉电检测器 ESP32CAM。

方法

通过修改 ESP32CAM 的代码来禁用 PFD 功能。

具体操作步骤如下:

  1. 进入 ESP32CAM 开发环境,打开相关源代码。

  2. 找到 void setup() {} 函数,可以在其中进行设置。

  3. setup() 函数中调用 rtc_clk_cpu_freq_set(RTC_CPU_FREQ_80M),将 CPU 时钟频率设置为 80MHz。例如:

    void setup() {
        rtc_clk_cpu_freq_set(RTC_CPU_FREQ_80M);
        // ...
    }
    
  4. 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
        // ...
    }
    
  5. 将修改后的代码上传到 ESP32CAM 模块中,重新启动即可生效。

总结

通过修改 ESP32CAM 的代码来禁用掉电检测器功能,操作简单,但需注意修改代码的安全性。

如有疑问或建议,请在留言区留言,感谢您的阅读!