Я новичок в работе с Arduino и любыми схемами.
Я пытаюсь настроить плату ESP32 для пробуждения с помощью внешнего триггера с помощью команды esp_sleep_enable_ext0_wakeup
void setup(){
int MY_PIN = 13;
pinMode(MY_PIN, INPUT_PULLUP);
int reading = digitalRead(MY_PIN);
if(reading == 1) {
esp_sleep_enable_ext0_wakeup(GPIO_NUM_13,0);
}
else {
esp_sleep_enable_ext0_wakeup(GPIO_NUM_13,1);
}
// I want the board to wake up every time the state of the switch changes.
esp_deep_sleep_start();
}
У меня проблемы с этим. Пробуждение не происходит тогда, когда я этого ожидаю. Я предполагаю, что это связано с использованием внешнего подтягивающего резистора. Я не подключал ни одного.
Есть ли способ использовать для этой цели внутренний подтягивающий резистор?
Я был бы признателен любому, кто мог бы объяснить, как это работает в целом.
В документации говорится:
@note Эта функция не изменяет конфигурацию контактов. Вывод настраивается в esp_sleep_start непосредственно перед переходом в спящий режим.
Может надо правильно настроить с esp_sleep_pd_config
. Может быть, это причина того, что подтягивающий резистор не работает?