Lösung: ESP32 Pin GPIO0
Problem:
ESP32 startet nicht in das Programm nach Installieren Download eines Programms
Lösung:
Das PIN GPIO0 G0 sollte nicht verwendet werden, da es beim Booten und Installieren von Software, Firmware, Sketch-Programmen fĂŒr das BOOT Signal verwendet wird.
Auszug aus dem esp32 Wroom 32 Datenblatt zur Lösung der Pins GPIO 0 G0 und EN (Module Enable)
ESP32-WROOM-32
Datasheet
Verwendung von GPIO0 unter ESP32 WROOM 32 node MCU
https://www.espressif.com/sites/default/files/documentation/esp32-wroom-32_datasheet_en.pdf
Pin Default SPI Boot Download Boot
GPIO0 Pull-up 1 0
GPIO2 Pull-down Donât-care 0
Die Pins wie Power-on-reset, GPIO0 GPIO2, EN werden wÀhrend des Downloads eines Programms
Beim ESP32 spricht man von Download beim Installieren eines Programms. Bei Software im Internet wird der Begriff Upload verwendet.
During the chipâs system reset release (power-on-reset, RTC watchdog reset and brownout reset), the latches of the strapping pins sample the voltage level as strapping bits of â0â or â1â, and hold these bits until the chip is powered down or shut down. The strapping bits configure the deviceâs boot mode, the operating voltage of VDD_SDIO and other initial system settings. Each strapping pin is connected to its internal pull-up/pull-down during the chip reset. Consequently, if a strapping pin is unconnected or the connected external circuit is high-impedance, the internal weak pull-up/pull-down will determine the default input level of the strapping pins. To change the strapping bit values, users can apply the external pull-down/pull-up resistances, or use the host MCUâs GPIOs to control the voltage level of these pins when powering on ESP32. |
EN PIN
Zudem muss das PIN EN auf High gesetzt werden, nachdem die Software hochgeladen wurde.
Lösung
Deshalb ist es besser, man verwendet den PIN G2 GPIO2 gleich daneben als Ausgabe-PIN und lĂ€sst den GPIO0 G0 fĂŒr die Boot-Funktion
Hinweis: beim Board von AZ-Delivery ist der EN Button nicht vorhanden und dafĂŒr ist ein RST Button weiter unten angebracht
Kleines Testprogramm, ob ESP32 lÀuft. Ausgabe auf dem Seriellen Monitor
void setup() { Serial.begin(115200); }
void loop() { Serial.println("TEST ESP-WROOM-32 if it works"); delay(500); } |