ESP wacht nicht aus DeepSleep auf

Continuing the discussion from ESP32 deep sleep with DS3231:

Moin,

mit meinem Standard ESP32 Dev Board funktioniert der verlinkte Code wunderbar.
Aber mit diesem speziellen, für Batteriebetrieb optimierten Board irgendwie nicht:

Muss man diesen Controller irgendwie anders behandeln (mit einer speziellen Library) oder denkt ihr, der ist einfach defekt? Ich hab auch andere GPIOs als den 33 versucht - der Kerl wacht nicht auf :wink:

Also falls jemand dieses Board hat und Bescheid weiß... :upside_down_face:

Ich habe das Board nicht, aber in der Beschreibung zum Board steht, das er per Interrupt geweckt werden kann und welcher Pin dafür genutzt wird.

Ich Blindfisch. Danke :see_no_evil:

Hi,

mit dem Pin hatte das nichts zu tun (bin grad erst wieder dazu gekommen, mich damit zu beschäftigen...).

Hier die Lösung (Code ist ein anderer, aber die Ursache war die gleiche, siehe Kommentar im Code):


void setup(){
  Serial.begin(115200);
  delay(2000);

  pinMode(27, INPUT_PULLUP);

  esp_sleep_enable_ext0_wakeup(GPIO_NUM_27,0);

  // SOBALD ICH DIESE ZWEI ZEILEN AKTIVIERE, GEHTS NIMMER....
  //pinMode(2, INPUT_PULLUP);
  //esp_sleep_enable_ext0_wakeup(GPIO_NUM_2,0); // WakeUp per ToggleSwitch

  Serial.println("Ruhe sanft");
  esp_deep_sleep_start();
}

void loop(){
  //
}

Verstehen tu ich es bis jetzt trotzdem noch nicht ganz.
Da stellt wohl der eine GPIO dem anderen ein Bein?
In dem Fall wollte ich eben zwei Pins haben mit denen ich den DeepSleep beenden kann.

Was will er (bzw. in dem Fall: Warum will er NICHT?)

Edit: Habs verstanden - man kann schlicht und einfach nur einen GPIO bestimmen, der zum Aufwecken verwendet wird!

Edit 2: Mit esp_sleep_enable_ext1_wakeup kann man mehrere Wakeup-Quellen verwenden ... gerade eben erkannt, z.B.


#define GPIO27_PIN_BITMASK 0x08000000
esp_sleep_enable_ext1_wakeup(GPIO27_PIN_BITMASK,ESP_EXT1_WAKEUP_ALL_LOW);

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.