在深度睡眠中保持 ESP32 非 RTC GPIO 引脚状态为高电平

问题描述

我正在使用 Arduino IDE,并且我正在尝试保持引脚的状态(在我的情况下为高)。

我有 GPIO16、GPIO17、GPIO18(我相信它们都是非 RTC GPIO 引脚)。它们连接到三个 P 沟道 MOSFET,为 RGB LED 供电。所以我的三个针需要在睡觉时保持高位。

当我的 ESP32 进入深度睡眠时,RGB LED 会慢慢变暗至全白亮度 ?

找了一圈,其他地方贴的方法没有按预期工作。我试过下面的,但没有运气。

Arduino IDE:

gpio_hold_en((gpio_num_t) 16);
gpio_hold_en((gpio_num_t) 17);
gpio_hold_en((gpio_num_t) 18);
gpio_deep_sleep_hold_en();
delay(10000);
esp_deep_sleep_start();

奇怪的是,现在蓝色 LED(在 GPIO 18 上)没有亮起,只有另外两个(16 和 17)在我调用深度睡眠时立即全亮。

它们是 GPIO 还是 RTC GPIO 重要吗?

是否可以在深度睡眠期间将它们保持在高位?我也试过 INPUT_PULLUP 但也没有运气。

它们采用 SMD 焊接在定制 PCB 上,因此我尝试在软件中解决这个问题,然后再考虑更换 N 沟道 MOSFET 或完全制作新板。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)