diff --git a/Minesweeper/Core/Inc/spielfeld.h b/Minesweeper/Core/Inc/spielfeld.h index 4743531..8dceedb 100644 --- a/Minesweeper/Core/Inc/spielfeld.h +++ b/Minesweeper/Core/Inc/spielfeld.h @@ -7,7 +7,29 @@ #ifndef INC_SPIELFELD_H_ #define INC_SPIELFELD_H_ - +/* + * Enthaltene Dateien: + * main.h: Enthält die Deklarationen und Definitionen, die vom Hauptprogramm und den Modulen gemeinsam genutzt werden. + * uart.h: Enthält die Deklarationen für Funktionen zur Steuerung der UART-Schnittstelle. + * stdio.h: Enthält Prototypen für Standard-Ein-/Ausgabefunktionen. + * stdlib.h: Enthält Prototypen für Speicherverwaltungsfunktionen. + * time.h: Enthält Prototypen für Zeitfunktionen. + * ctype.h: Enthält Prototypen für Zeichentest- und -manipulationsfunktionen. + * + * Externe Variablen: + * huart2: Eine externe Variable vom Typ UART_HandleTypeDef, die von der HAL-Bibliothek bereitgestellt wird. Sie repräsentiert die Handle-Struktur für die UART-Schnittstelle 2. + * hrng: Eine externe Variable vom Typ RNG_HandleTypeDef, die von der HAL-Bibliothek bereitgestellt wird. Sie repräsentiert die Handle-Struktur für den Random Number Generator. + * + * Struktur: + * Position: Eine Struktur zur Darstellung der Zeilen- und Spaltenindizes einer Zelle im Spielfeld. + * + * Makros: + * EMPTY_CELL: Ein Makro zur Darstellung einer leeren Zelle im Spielfeld. + * BOMB_CELL: Ein Makro zur Darstellung einer Zelle mit einer Bombe im Spielfeld. + * HIDDEN_CELL: Ein Makro zur Darstellung einer verdeckten Zelle im Spielfeld. + * NUMBER_CELL: Ein Makro zur Darstellung einer Zelle mit einer Zahl, die angibt, wie viele Bomben in der Nähe sind. + * FLAG_CELL: Ein Makro zur Darstellung einer Zelle mit einer Flagge, die auf eine vermutete Bombe hinweist. + */ #include "main.h" #include "uart.h" #include @@ -18,7 +40,6 @@ extern UART_HandleTypeDef huart2; extern RNG_HandleTypeDef hrng; - typedef struct { int row; int col; diff --git a/Minesweeper/Core/Inc/uart.h b/Minesweeper/Core/Inc/uart.h index e548510..8423d25 100644 --- a/Minesweeper/Core/Inc/uart.h +++ b/Minesweeper/Core/Inc/uart.h @@ -7,7 +7,18 @@ #ifndef INC_UART_H_ #define INC_UART_H_ - +/* + * Beschreibung: + * Dies ist die Header-Datei für das UART-Modul. Sie definiert Funktionen und Strukturen für die Steuerung der UART-Schnittstelle auf dem Mikrocontroller. + * + * Enthaltene Dateien: + * stm32l4xx_hal.h: Enthält die erforderlichen Definitionen und Deklarationen für die HAL (Hardware Abstraction Layer) der STM32L4xx-Familie. + * main.h: Enthält die Deklarationen und Definitionen, die vom Hauptprogramm und den Modulen gemeinsam genutzt werden. + * string.h: Enthält Prototypen für String-Manipulationsfunktionen. + * + * Externe Variable: + * huart2: Eine externe Variable vom Typ UART_HandleTypeDef, die von der HAL-Bibliothek bereitgestellt wird. Sie repräsentiert die Handle-Struktur für die UART-Schnittstelle 2. + */ #include "stm32l4xx_hal.h" // Sie müssen möglicherweise den genauen Pfad entsprechend Ihrem Projekt anpassen #include "main.h" #include diff --git a/Minesweeper/Core/Src/uart.c b/Minesweeper/Core/Src/uart.c index 7cc422a..8a87981 100644 --- a/Minesweeper/Core/Src/uart.c +++ b/Minesweeper/Core/Src/uart.c @@ -6,6 +6,13 @@ */ #include "uart.h" +/* + * Beschreibung: + * Diese Funktion leert den Empfangspuffer der UART-Schnittstelle, indem sie eine bestimmte Anzahl von Bytes aus dem Puffer liest und verwirft. + * + * Parameter: + * huart: Ein Zeiger auf die UART-Handle-Struktur, die verwendet wird, um auf die UART-Schnittstelle zuzugreifen. + */ void clearSerialBuffer(UART_HandleTypeDef *huart) { uint8_t dummyBuffer[100]; // Ein Puffer zum Lesen der empfangenen Daten, der nicht verwendet wird @@ -13,7 +20,10 @@ void clearSerialBuffer(UART_HandleTypeDef *huart) { HAL_UART_Receive(huart, dummyBuffer, sizeof(dummyBuffer), 100); } - +/* + * Beschreibung: + * Diese Funktion sendet eine ANSI Escape-Sequenz über die UART-Schnittstelle, um den Bildschirm zu löschen. + */ void clearSerialOutput() { char clearScreenCommand[] = "\033[2J"; // ANSI Escape-Sequenz, um den Bildschirm zu löschen HAL_UART_Transmit(&huart2, (uint8_t*)clearScreenCommand, strlen(clearScreenCommand), 100);