Fehlerbehandlung in C (PI5): Unterschied zwischen den Versionen

Aus C und Assembler mit Raspberry
KKeine Bearbeitungszusammenfassung
KKeine Bearbeitungszusammenfassung
 
Zeile 41: Zeile 41:
Du kannst den Source-Code als ZIP-Datei mit folgenden Link downloaden: https://www.satyria.de/arm/sources/C/error.zip
Du kannst den Source-Code als ZIP-Datei mit folgenden Link downloaden: https://www.satyria.de/arm/sources/C/error.zip


{|
-----
|-
 
| style="width: 33%; text-align:left;" | [[Lass die LED leuchten in C (PI5)|< Zurück]] || style="width: 33%" | [[Hauptseite|^ Hauptseite]] || style="width: 33%; text-align:right;" | [[Grafik in C (PI5)|weiter >]]
{| style="width: 100%;
| style="width: 33%;" | [[Lass die LED leuchten in C (PI5)|< Zurück (Lass die LED leuchten in C (PI5))]]
| style="width: 33%; text-align:center;" | [[Hauptseite|< Hauptseite >]]
| style="width: 33%; text-align:right;" | [[Grafik in C (PI5)|Weiter (Grafik in C (PI5)) >]]
|}
|}

Aktuelle Version vom 23. August 2024, 10:51 Uhr

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.

Wir erweitern dafür unseren „led.c“-Code um 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(0x100000); // 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 gibt an, wie oft die LED aufleuchtet, bevor eine kurze Pause erfolgt.

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

//
// kernel.c
//

#include "led.h"
#include "time.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 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.

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


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