MicroPython: Reset und Neustart

Um einen Mikrocontroller wie den Raspberry Pi Pico neu zu starten, kann man den RUN-Pin mit GND verbinden, oder softwareseitig den Befehl „machine.reset()“ im MicroPython-Programmcode verwenden. Das setzt den Mikrocontroller zurück und startet den Programmcode in der Datei „main.py“ neu.

import machine
machine.reset()

Oftmals wird dieser Neustart mit dem Ziehen und erneut Stecken des USB-Kabels verglichen. Aber das stimmt nicht. Denn Ziehen und Stecken des Kabels bedeutet, dass der Raspberry Pi Pico komplett stromlos wird. Inklusive der daran angeschlossenen Geräte, Sensoren und Bauteile.

Was passiert bei machine.reset()?

machine.reset() führt zu einem Neustart des Mikrocontrollers. Dabei wird der Mikrocontroller softwareseitig zurückgesetzt, was auch die Verbindung zu einer Entwicklungsumgebung unterbricht. Der gerade noch laufende Programmcode wird sofort abgebrochen und der Speicher (RAM) wird geleert.
Anschließend wird der Programmcode in der Datei „main.py“ ausgeführt, wenn diese Datei vorhanden ist.

Was passiert bei machine.reset() NICHT?

Das softwareseitige Zurückgesetzt des Raspberry Pi Pico ist nicht mit dem Ausstecken und wieder Einstecken vergleichbar. Zwar werden nach dem Reset alle Hardware-Register auf ihre Default-Werte zurückgesetzt, aber externe Bauteile verlieren dabei nicht ihre eigenen Einstellungen oder gespeicherten Werte.
Der Spannungsregler auf dem Pico-Board ist vom Test nicht betroffen. Der läuft weiter und damit auch alle anderen Geräte, die über den Pico mit Strom vom 3V3-Pin versorgt werden. Man erreicht dabei keinen komplett stromlosen Zustand.

Reset-Grund

Je nach Art des Resets kann es bei einem Neustart Gründe geben, andere Ding zu tun. mit machine.reset_cause() kann man den Reset-Grund bei einem Neustart abfragen. Dazu kennt MicroPython verschiedene Werte.

Im RP2-Port von MicroPython gibt es aber nur zwei mögliche Werte:

  • machine.PWRON_RESET (int: 1): Einschalten (nach einem Reset)
  • machine.WDT_RESET: Soft-Reset

Weitere verwandte Themen:

Frag Elektronik-Kompendium.de

Hardware-nahes Programmieren mit dem Raspberry Pi Pico und MicroPython

Elektronik-Set Pico Edition

Das Elektronik-Set Pico Edition ist ein Bauteile-Sortiment mit Anleitung zum Experimentieren und Programmieren mit MicroPython.

  • LED: Einschalten, ausschalten, blinken und Helligkeit steuern
  • Taster: Entprellen und Zustände anzeigen
  • LED mit Taster einschalten und ausschalten
  • Ampel- und Lauflicht-Steuerung
  • Elektronischer Würfel
  • Eigene Steuerungen programmieren

Elektronik-Set jetzt bestellen Online-Workshop buchen

Online-Workshop: Programmieren mit dem Raspberry Pi Pico

Programmieren mit dem Raspberry Pi Pico

Gemeinsam mit anderen und unter Anleitung experimentieren? Wir bieten unterschiedliche Online-Workshops zum Raspberry Pi Pico und MicroPython an. Einführung in die Programmierung, Sensoren programmieren und kalibrieren, sowie Internet of Things und Smart Home über WLAN und MQTT.

Online-Workshop buchen

Besuchen Sie unser fast monatlich stattfindendes Online-Meeting PicoTalk und lernen Sie uns kennen. Die Teilnahme ist kostenfrei.

Termine und Newsletter-Anmeldung

 

Elektronik-Sets für das Hardware-nahe Programmieren