Fehlerbehandlung in C (PI4): Unterschied zwischen den Versionen

Aus C und Assembler mit Raspberry
KKeine Bearbeitungszusammenfassung
KKeine Bearbeitungszusammenfassung
 
Zeile 1: Zeile 1:
Da wir bisher keine Möglichkeit haben, uns gezielt Informationen anzuzeigen, nutzen wir die LED, um zu erkennen, wenn ein Fehler auftritt. Dazu erstellen wir eine Funktion, die mithilfe der LED einen Fehlercode anzeigt.
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:


Wir erweitern dafür unseren „led.c“-Code um folgende Funktion:
<syntaxhighlight lang="C">
<syntaxhighlight lang="C">
void LED_Error(u32 errorcode)  
void LED_Error(u32 errorcode)  
Zeile 9: Zeile 10:
         for (u32 z = 0; z < errorcode; z++)  
         for (u32 z = 0; z < errorcode; z++)  
         {
         {
             LED_on(); // LED einschalten
             LED_on(); // LED einschalten
             wait(0x100000); // Kurze Wartezeit
             wait(0x100000); // Kurze Wartezeit
             LED_off(); // LED ausschalten
             LED_off(); // LED ausschalten
             wait(0x50000); // Kurze Wartezeit
             wait(0x50000); // Kurze Wartezeit
         }
         }
         wait(0x100000); // Zusätzliche Wartezeit, um den Fehlercode erkennbar zu machen
         wait(0x100000); // Zusätzliche Wartezeit, um den Fehlercode erkennbar zu machen
     }
     }
}
}
</syntaxhighlight>
</syntaxhighlight>
Diese Funktion lässt die LED entsprechend des übergebenen Fehlercodes aufleuchten. Der Fehlercode gibt an, wie oft die LED aufleuchtet, bevor eine kurze Pause erfolgt.
 
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:
Um die Funktion zu testen, passen wir unseren "main.c"-Code wie folgt an:
<syntaxhighlight lang="C">
<syntaxhighlight lang="C">
//
//
Zeile 37: Zeile 40:
}
}
</syntaxhighlight>
</syntaxhighlight>
Zunächst schalten wir die LED aus. Dann testen wir die neue Funktion mit "LED_Error(2)". Dadurch wird die LED zweimal kurz hintereinander aufleuchten, eine kurze Pause machen und diesen Vorgang wiederholen.


Bis wir eine bessere Möglichkeit haben, Fehler anzuzeigen, werden wir diese Funktion verwenden.
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
Du kannst den Source-Code als ZIP-Datei mit folgenden Link downloaden: https://www.satyria.de/arm/sources/RPI4/C/3.zip

Aktuelle Version vom 6. März 2025, 12:24 Uhr

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)) >