Почему ESP32 не остается в глубоком сне дольше 35 минут?
У меня была странная проблема с новой пользовательской платой ESP. Я не могу отодвинуть время глубокого сна на 35 минут, независимо от того, как я регулирую время.
Ниже приведен мой текущий соответствующий код, но в основном устройство просыпается, считывает несколько датчиков окружающей среды, отправляет их в облако и затем выключается. Я собираюсь спать в течение часа между чтениями, чтобы сохранить заряд батареи.
#include <esp_deep_sleep.h>
int SLEEP_TIME;
#define uS_TO_S_FACTOR 9e9 //Коэффициент преобразования для микросекунд в секунды
#define TIME_TO_SLEEP 9e8 //Время, когда ESP32 перейдет в спящий режим (в секундах)
SLEEP_TIME = (uS_TO_S_FACTOR * TIME_TO_SLEEP);
esp_sleep_enable_timer_wakeup(SLEEP_TIME);
esp_deep_sleep_start();
@Mulcch, 👍2
Обсуждение0
Смотрите также:
- ESP32 не может спать дольше 35 минут.
- ESP32 — петля DeepSleep или нет?
- Невозможно создать переменную RTC_DATA_ATTR внутри класса
- ESP32 - неточность NTP после глубокого сна
- целочисленное переполнение в выражении типа 'int' приводит к
- Детектор браунаута ESP32-S2 Случайно срабатывает в глубоком сне
- Как узнать, просыпается ESP32 самостоятельно или вручную
- Монитор напряжения батареи сразу после глубокого сна
используйте
uint64_t
вместоint
. и префиксные шестнадцатеричные константы с 0x, @Juraj@Juraj Спасибо! Это сработало великолепно., @Mulcch