MicroPython: Laufzeit messen
Das Messen der Laufzeit eines Mikrocontroller-Systems wie dem Raspberry Pi Pico kann aus mehreren Gründen sinnvoll sein.
- Anforderungen an die Zeit: In sicherheitskritischen Anwendungen muss man nachweisen, dass das System innerhalb festgelegter Zeitgrenzen arbeitet. Eine Laufzeitmessung hilft dabei zu prüfen, ob diese Zeit eingehalten wird.
- Performance optimieren: Durch die Messung von Laufzeiten kann man feststellen, welche Teile des Programmcodes wie viel Zeit benötigen. Man kann das zum Anlass nehmen gezielte Optimierungen vorzunehmen.
- Stromverbrauch reduzieren: Bei einem kürzer laufenden Programmcode kann das System früher in den Energiesparmodus wechseln oder ganz abschalten. Bei batteriebetriebenen Systemen kann dadurch die Batterielaufzeit verlängert werden.
- Implementierungen vergleichen: Bei mehreren möglichen Lösungswegen kann eine Laufzeitmessung aufzeigen, welche Implementierung schneller oder effizienter ist.
Eine Laufzeitmessung kann man z. B. mit einem Timer, einem Oszilloskop oder einem Logic Analyzer durchführen. Hier messen wir die Laufzeit im Programmcode mit dem internen Timer des Raspberry Pi Pico.
Laufzeit beim Raspberry Pi Pico messen
- Wie lange läuft der Raspberry Pi Pico schon?
- Wie lange ist der Raspberry Pi Pico gelaufen, bevor er beendet wurde?
Programmcode
Im Programmcode wird die Variable „lifetime“ mit dem Wert eines Millisekundenzählers gesetzt. Das eigentliche Hauptprogramm lässt die Onboard-LED blinken. Wird das Programm manuell abgebrochen, wird der Zähler erneut abgefragt. Nach Abzug der Startzeit, wird die Laufzeit ermittelt und ausgegeben.
# Bibliotheken laden import machine import time # Onboard-LED led_onboard = machine.Pin('LED', machine.Pin.OUT, value=1) # Variable für die Laufzeitmessung setzen lifetime = time.ticks_ms() # Hauptprogramm try: while True: time.sleep(1) led_onboard.toggle() except KeyboardInterrupt: lifetime = (time.ticks_ms() - lifetime) / 1000 print('Ich bin', round(lifetime, 1), 'Sekunden gelaufen') finally: led_onboard.off()
Weitere verwandte Themen:
- MicroPython: Datum und Uhrzeit lesen und ausgeben
- MicroPython: Zeit-Differenzen berechnen
- MicroPython: Fehlerbehandlung und Ausnahmebehandlung
- Raspberry Pi Pico im Stand-alone-Betrieb
- Raspberry Pi Pico: Autostart mit Abbruch, Fehlerbehandlung und Neustart
Frag Elektronik-Kompendium.de
Hardware-nahes Programmieren mit dem Raspberry Pi Pico und MicroPython
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
Online-Workshop: 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.
Besuchen Sie unser fast monatlich stattfindendes Online-Meeting PicoTalk und lernen Sie uns kennen. Die Teilnahme ist kostenfrei.