Hallo Gemeinde,
bei der Arbeit mit dem MSP430 ist mir aufgefallen, dass ein
DeepSleep/LowPower dort sehr viel besser gelöst ist, als beim ESP8266.
Beim ESP8266 gestaltet es sich meiner Erfahrung nach so, dass nach dem
Erwachen aus
der Mikrocontroller komplett gereseted und neu-initialisiert wird.
Hiernach landet man wieder in der setup()-Routine.
Alle Variable-Inhalte vor dem deepSleep()-Aufruf sind damit verloren.
Ein MSP430 verhält sich deutlich anders.
Ein Erwachen aus
1 | _BIS_SR(LPM3_bits + GIE); // Enter LPM3
|
führt hier NICHT zu einem Reset und der nachfolgende Code wird "einfach"
weiterverarbeitet. Variable-Inhalte bleiben somit im Speicher und man
kann mit ihnen weiterarbeiten.
Meiner bescheidenen Meinung nach ist die ESP-Lösung im Grunde gar kein
richtiger Tiefschlaf.
Für Batterieanwendungen im Grunde dann auch nicht verwendbar, da dies ja
doch sehr viele Nachteile beinhaltet (Hochlaufzeit im ms-Bereich,
Verlust des Gedächtnisses, etc.)
Im Internet finden sich Bootup-Zeiten von 200ms für den ESP8266. Da
kommen im direkten Vergleich zum MSP430 doch ein viel höherer
Energieverbrauch zustande...
Könnt ihr das (grob) bestätigen oder liege ich da falsch?
Danke!