执行gpio_deep_sleep_hold_en();后,再进入deepsleep功耗是90ua,不正常。

小康师兄请教下,ESP32 C3 把所有的GPIO上下拉都给关了,执行gpio_deep_sleep_hold_en();后,再进入deepsleep功耗是90ua,怎么配GPIO都不行,不知道哪里配置不对呢,不执行gpio_deep_sleep_hold_en()就没事,功耗是5ua。

该回答引用chatGPT
检查:
1.其他设备是否与GPIO连接,并在Deep Sleep模式下是否处于关闭状态
2.关闭不必要的外设,如ADC, UART, PWM等
3.是否打开了RTC RAM保护功能,以及是否在没有必要的情况下禁止了RTC RAM。
4.是否正确配置了电源管理功能,以确保在Deep Sleep模式下芯片处于最低功耗状态。

您可以查看 ESP32 数据手册和示例代码,确保您的代码正确配置了 GPIO。如果仍然无法解决问题,您可以考虑检查您的电路,以确保没有任何外部因素影响您的结果。

由于GPIO配置问题导致进入deepsleep后仍然有较高功耗,可能是由于以下原因导致的:

1.GPIO的电压状态:如果GPIO的电压状态不正确,它可能会在deepsleep模式下仍然吸收电流,从而导致较高的功耗。

2.错误的GPIO配置:如果GPIO配置不正确,它可能仍然在deepsleep模式下工作,从而导致较高的功耗。

3.硬件问题:如果硬件存在问题,例如电路板没有很好的电容,它可能在deepsleep模式下仍然吸收电流,从而导致较高的功耗。

请检查上述原因,并尝试修改GPIO配置以解决问题。

在使用gpio_deep_sleep_hold_en()函数之前,确保应用程序中GPIO上下拉配置都安全执行了。如果出现上述问题,可以检查GPIO的配置,确保每个GPIO都具有正确的上下拉设置,以避免不必要的电流消耗。