Fehlerbehandlung in C (PI4): Unterschied zwischen den Versionen
KKeine Bearbeitungszusammenfassung |
KKeine Bearbeitungszusammenfassung |
||
| Zeile 1: | Zeile 1: | ||
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: | |||
<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 | |||
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> | ||
Bis wir eine bessere Möglichkeit haben, | 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)) > |