Fehlerbehandlung in C (PI4)

Aus C und Assembler mit Raspberry
Version vom 6. März 2025, 12:24 Uhr von Satyria (Diskussion | Beiträge)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)

Aktuell haben wir nur begrenzte Möglichkeiten, gezielte Informationen anzuzeigen. Daher nutzen wir die LED, um Fehler zu erkennen, indem sie einen Fehlercode signalisiert. Hierfür erstellen wir eine Funktion, die diesen Fehlercode mithilfe der LED darstellt.

Wir erweitern unseren „led.c“-Code um die folgende Funktion:

void LED_Error(u32 errorcode) 
{
    while (TRUE) 
    {
        for (u32 z = 0; z < errorcode; z++) 
        {
            LED_on();  // LED einschalten
            wait(0x100000);  // Kurze Wartezeit
            LED_off();  // LED ausschalten
            wait(0x50000);  // Kurze Wartezeit
        }
        wait(0x100000);  // Zusätzliche Wartezeit, um den Fehlercode erkennbar zu machen
    }
}

Diese Funktion lässt die LED entsprechend des übergebenen Fehlercodes aufleuchten. Der Fehlercode bestimmt, wie oft die LED blinkt, bevor eine längere Pause erfolgt.

Um die Funktion zu testen, passen wir unseren "main.c"-Code wie folgt an:

//
// The Error program for RPI4
// 20.02.2025 www.satyria.de
//
// kernel.c
//

#include "led.h"

int main (void)
{
   LED_off();     // LED zunächst ausschalten
   LED_Error(2);  // Fehlercode 2 testen
}

Zunächst schalten wir die LED aus. Dann testen wir die Funktion mit LED_Error(2). Hierdurch blinkt die LED zweimal kurz hintereinander, gefolgt von einer Pause, und wiederholt diesen Vorgang.

Bis wir eine bessere Möglichkeit zur Fehleranzeige haben, verwenden wir diese Funktion.

Du kannst den Source-Code als ZIP-Datei mit folgenden Link downloaden: https://www.satyria.de/arm/sources/RPI4/C/3.zip


< Zurück (Lass die LED leuchten in C (PI4)) < Hauptseite > Weiter (Grafik in C (PI4)) >