Rust auf dem Raspberry Pi Pico · Teil 6TutorialFortgeschritten

Rust

Rust Pico 06: Erste LED blinken lassen

Digitale Ausgänge mit Embassy steuern. Embedded Rust verständlich erklärt, mit Praxisaufgabe und Musterlösung.

Kapitel: GPIO

Veröffentlicht am

Teil 06: Erste LED blinken lassen

Lernziel: Digitale Ausgänge mit Embassy steuern.

Voraussetzungen: Der Rust-PC-Grundlagenkurs bzw. Grundkenntnisse in Rust; außerdem die vorangegangenen Pico-Lektionen. Zielboard: Pico 2 / Pico 2 W (ARM); Hinweise für RP2040 in der Kursübersicht.

Worum geht es?

Eine GPIO-Ausgabe wird mit Output initialisiert. Danach kann sie zwischen High und Low umgeschaltet werden. Für die erste Übung verwenden wir eine externe LED an GPIO15, weil die interne LED bei W-Modellen über den Funkchip angesteuert wird. Die folgende Logik wird in das gewählte Embassy-Boardprojekt übernommen.

Schritt für Schritt

use embassy_rp::gpio::{Level, Output};
use embassy_time::{Duration, Timer};

// Innerhalb der async-main-Funktion nach init:
let mut led = Output::new(p.PIN_15, Level::Low);
loop {
    led.set_high();
    Timer::after(Duration::from_millis(500)).await;
    led.set_low();
    Timer::after(Duration::from_millis(500)).await;
}

Einordnung: Codefragment für die async-main-Funktion; p ist die Rückgabe von embassy_rp::init(Default::default()).

Hintergrund und häufige Fehler

  • Board prüfen: Pico/Pico W (RP2040) und Pico 2/Pico 2 W (RP2350) brauchen unterschiedliche Compilerziele und Boardkonfigurationen.
  • Hardware zuerst: Vor dem Flashen Pinbelegung, gemeinsame Masse und 3,3-V-Pegel prüfen.
  • Versionsstand: Übernehme die passenden Embassy-Beispiele und Abhängigkeiten aus demselben Repository-Stand; APIs ändern sich zwischen Releases.
  • Schrittweise testen: Erst ein kleines funktionsfähiges Beispiel, danach jeweils genau eine Änderung vornehmen.

Selbst ausprobieren

Ändere die Blinkzeit zunächst auf 200 ms und danach auf 1000 ms.

Musterlösung anzeigen

Ersetze beide Vorkommen von 500 durch 200 bzw. 1000.

Dokumentation für deine Versuche

Notiere verwendetes Board, Verdrahtung, Git-Commit oder Bibliotheksversion, Build-Befehl, Ergebnis und aufgetretene Fehlermeldungen. Halte dazu ein Foto oder einen Screenshot fest, der später in den Website-Beitrag übernommen werden kann.

Weiterführende Informationen


← Teil 05 · Teil 07 →