Какое минимальное значение для ESP.deepSleep(n)?

Я заметил, что при вызове ESP.deepSleep(1) ESP8266 иногда не просыпается. Почему я ввожу такое низкое значение? Я хочу спать в течение минимального времени, чтобы снова включить Wi-Fi с помощью WAKE_RF_DEFAULT (ранее я отключил его с помощью WAKE_RF_DISABLED для экономии энергии).

Я полагаю, что значение 0 будет постоянно бездействовать, но значение 1, похоже, делает его ненадежным.

Чтобы решить эту проблему, я использовал ESP.deepSleep(1e6) (1 секунду), но мне было любопытно узнать, существует ли известное минимальное значение.

, 👍0

Обсуждение

Итак, как вы обнаружили, 1 слишком мало ... вы пробовали 2? :п, @Jaromanda X

Ха-ха, нет, у меня была первоначальная мысль медленно продвигаться вверх, но я понятия не имел, сработало ли это по счастливой случайности или нет. В некоторых случаях значение «1» работает, а в других нет. Интересно было бы узнать почему! :), @Nick Bolton

Если функция сна ESP32 похожа на ESP8266, то это всего лишь внутренне сгенерированный импульс, который выходит на один контакт и поступает на контакт пробуждения. Возможно, реализация такова, что установка задержки, равной 1, не всегда дает программному обеспечению достаточно времени, чтобы настроить процессор для пробуждения после перехода в спящий режим. Я предполагаю, что установка его на 2 почти всегда будет работать, если не всегда. Но имейте в виду, что импульс пробуждения ESP8266 сильно зависит от температуры. Поэтому может быть разумным выбрать еще большую задержку, например, 4 или 5., @st2000

@st2000 Звучит логично, спасибо за понимание!, @Nick Bolton