Глубокий сон зависает при использовании с gpio 16, когда мы подключаемся к контакту сброса
У меня есть узел MCU, и он зависает, когда я использую режим глубокого сна, как показано на прикрепленном изображении. Мой код выглядит так:
/*
* ESP8266 Deep sleep mode example
* Rui Santos
* Complete Project Details https://randomnerdtutorials.com
*/
void setup() {
Serial.begin(115200);
Serial.setTimeout(2000);
// Подождите, пока Serial инициализируется.
while(!Serial) { }
// Режим глубокого сна на 30 секунд, ESP8266 просыпается сам по себе, когда GPIO 16 (D0 на плате NodeMCU) подключается к контакту RESET
Serial.println("I'm awake, but I'm going into deep sleep mode for 30 seconds");
ESP.deepSleep(30e6);
// Режим глубокого сна до тех пор, пока контакт RESET не будет подключен к сигналу LOW (например, к кнопке или магнитному геркону)
//Serial.println("Я бодрствую, но перехожу в режим глубокого сна, пока контакт RESET не будет подключен к сигналу LOW");
//ESP.deepSleep(0);
}
void loop() {
}
Пожалуйста, помогите!
@dachu darshan, 👍1
Обсуждение1 ответ
▲ -1
У меня была та же проблема, и я понял, что не подключил GPIO 16 (или D1) к RST. Звучит тривиально, но со мной случается.
Я знаю старую тему, но я пытался понять свою ошибку и наткнулся на эту тему, так что это может быть полезно для некоторых людей.
,
@Xavier G
но в заголовке вопроса уже есть «при использовании с gpio 16, когда мы подключаемся к пину сброса», @Juraj
Смотрите также:
- Как определить размер Flash?
- WebSocketsServer.h: No such file or directory
- В ESP-12E NodeMCU, какой выход PIN A0?
- Преобразование byte* в int в Arduino
- Каково использование зарезервированных контактов и контактов SDD2, SDD3 NodeMCU?
- Было найдено несколько библиотек для «WiFiClient.h» с помощью nodemcu.
- NodeMCU (Arduino IDE) «DynamicJsonBuffer» не был объявлен в этой области
- NodeMCU поддерживает внедрение ключей?
удалить
пока (!Serial)
здесь ничего не делается. добавить задержку (500); после Serial.begin. добавить Serial.flush перед сном, @Jurajпробовал то же самое. Без изменений. Это все еще то же самое., @dachu darshan
и какая скорость передачи данных у вас установлена в Serial Monitor? вы видите сообщение «Я не сплю, но ...» при первом запуске после загрузки или при обычном сбросе или включении?, @Juraj
Последовательный монитор также имел ту же скорость передачи данных, что и код, и я не вижу, чтобы это сообщение печаталось с помощью команды serial.print., @dachu darshan
Вы сделали все 3 изменения, которые я рекомендовал? не могли бы вы добавить измененный скетч в качестве редактирования вопроса, @Juraj
Наиболее важным изменением, которое необходимо реализовать, является добавление
Serial.flush()
непосредственно перед переходом в спящий режим - это позволяет передавать время последовательных данных до того, как MCU перейдет в спящий режим., @Majenko