|
| void * | memcpy (void *dest, const void *src, uint32_t n) |
| | Kopiert n Bytes von src nach dest.
|
| |
| void * | memset (void *dest, int32_t c, uint32_t n) |
| | Setzt n Bytes im Zielpuffer auf den Wert c.
|
| |
| void * | memmove (void *dest, const void *src, uint32_t n) |
| | Kopiert n Bytes von src nach dest, wobei sich überlappende Speicherbereiche korrekt behandelt werden.
|
| |
| uint32_t | strlen (const char *s) |
| | Bestimmt die Länge eines Strings.
|
| |
| int32_t | strcmp (const char *s1, const char *s2) |
| | Vergleicht zwei Strings.
|
| |
| int32_t | strncmp (const char *s1, const char *s2, uint32_t n) |
| | Vergleicht maximal n Zeichen zweier Strings.
|
| |
| char * | strcpy (char *dest, const char *src) |
| | Kopiert einen String von src nach dest.
|
| |
| void | int_to_str (int32_t num, int base, char *str) |
| | Konvertiert eine Ganzzahl in einen String.
|
| |
| int32_t | parse_integer (const char *str) |
| | Parst einen String in eine Ganzzahl.
|
| |
| int32_t | parse_int_multi (const char *str, const char **next) |
| | Parst eine Ganzzahl aus einem String und gibt den Zeiger auf das nächste Zeichen zurück.
|
| |
| void | debug_write (uint32_t value) |
| | Schreibt einen Wert in das Debug-Register.
|
| |
| void | uart_enable (void) |
| | Aktiviert die UART-Schnittstelle.
|
| |
| void | uart_disable (void) |
| | Deaktiviert die UART-Schnittstelle.
|
| |
| void | uart_set_baud (baud_sel_t baud) |
| | Setzt die Baudrate der UART-Schnittstelle.
|
| |
| uint32_t | uart_get_status (void) |
| | Liest den Status der UART-Schnittstelle.
|
| |
| uint32_t | uart_is_ready (void) |
| | Prüft, ob die UART bereit ist.
|
| |
| uint32_t | uart_is_busy (void) |
| | Prüft, ob die UART beschäftigt ist.
|
| |
| uint32_t | uart_rx_full (void) |
| | Prüft, ob der UART-Empfangspuffer voll ist.
|
| |
| uint32_t | uart_rx_empty (void) |
| | Prüft, ob der UART-Empfangspuffer leer ist.
|
| |
| uint32_t | uart_tx_full (void) |
| | Prüft, ob der UART-Sende-Puffer voll ist.
|
| |
| uint32_t | uart_tx_empty (void) |
| | Prüft, ob der UART-Sende-Puffer leer ist.
|
| |
| int32_t | uart_wait_tx_full (uint32_t timeout_ms) |
| | Wartet darauf, dass der Sende-Puffer voll wird, bis zu einer Zeitüberschreitung.
|
| |
| int32_t | uart_wait_rx_data (uint32_t timeout_ms) |
| | Wartet darauf, dass Daten im Empfangspuffer vorhanden sind, bis zu einer Zeitüberschreitung.
|
| |
| int32_t | uart_write_byte (uint8_t data, uint32_t timeout_ms) |
| | Sendet ein Byte über die UART-Schnittstelle.
|
| |
| int32_t | uart_putchar (char c, uint32_t timeout_ms) |
| | Sendet ein Zeichen über die UART-Schnittstelle.
|
| |
| void | uart_putchar_default_timeout (char c) |
| | Sendet ein Zeichen über die UART-Schnittstelle mit voreingestelltem Timeout.
|
| |
| int32_t | uart_write_buffer (const uint8_t *buffer, uint32_t length, uint32_t timeout_ms) |
| | Sendet einen Puffer von Bytes über die UART-Schnittstelle.
|
| |
| int32_t | uart_read_byte (uint8_t *data, uint32_t timeout_ms) |
| | Liest ein Byte von der UART-Schnittstelle.
|
| |
| char | uart_getchar (uint32_t timeout_ms) |
| | Liest ein Zeichen von der UART-Schnittstelle.
|
| |
| int32_t | uart_read_buffer (uint8_t *buf, uint32_t length, uint32_t timeout_ms) |
| | Liest einen Puffer von Bytes von der UART-Schnittstelle.
|
| |
| void | uart_send_uint32 (uint32_t value, uint32_t timeout_ms) |
| | Sendet einen 32-Bit-Wert über die UART-Schnittstelle.
|
| |
| void | uart_print_uint (uint32_t num, int32_t base) |
| | Gibt eine positive Ganzzahl in einem bestimmten Zahlensystem über die UART aus.
|
| |
| void | uart_print_int (int32_t num) |
| | Gibt eine Ganzzahl über die UART aus.
|
| |
| void | uart_print (const char *s) |
| | Gibt einen String über die UART aus.
|
| |
| uint32_t | get_sys_clk (void) |
| | Liest die Systemtaktfrequenz.
|
| |
| void | millis_reset (void) |
| | Setzt den Millisekunden-Zähler zurück.
|
| |
| uint64_t | millis_long (void) |
| | Liest einen langen Millisekunden-Zähler.
|
| |
| uint32_t | millis (void) |
| | Liest den aktuellen Millisekunden-Zähler (32-Bit).
|
| |
| void | micros_reset (void) |
| | Setzt den Mikrosekunden-Zähler zurück.
|
| |
| uint64_t | micros_long (void) |
| | Liest einen langen Mikrosekunden-Zähler.
|
| |
| uint32_t | micros (void) |
| | Liest den aktuellen Mikrosekunden-Zähler (32-Bit).
|
| |
| void | delay (uint32_t ms) |
| | Verzögert die Ausführung um eine bestimmte Anzahl an Millisekunden.
|
| |
| void | delay_micro (uint32_t microsec) |
| | Verzögert die Ausführung um eine bestimmte Anzahl an Mikrosekunden.
|
| |
| void | pwm_set_period (uint32_t period) |
| | Setzt die PWM-Periode.
|
| |
| void | pwm_set_duty (uint32_t duty) |
| | Setzt das PWM-Duty-Cycle.
|
| |
| uint32_t | pwm_get_period (void) |
| | Liest die aktuelle PWM-Periode.
|
| |
| uint32_t | pwm_get_duty (void) |
| | Liest das aktuelle PWM-Duty-Cycle.
|
| |
| uint32_t | pwm_get_counter (void) |
| | Liest den aktuellen PWM-Zählerstand.
|
| |
| void | pwm_set_control (uint32_t control) |
| | Setzt den PWM-Kontrollwert.
|
| |
| uint32_t | pwm_get_control (void) |
| | Liest den aktuellen PWM-Kontrollwert.
|
| |
| void | pwm_set_mode (uint8_t enable_pwm) |
| | Aktiviert oder deaktiviert den PWM-Modus.
|
| |
| void | pwm_set_50_percent_mode (uint8_t enable) |
| | Aktiviert oder deaktiviert den 50%-Modus des PWM.
|
| |
| void | pwm_set_pre_counter (uint16_t pre_counter) |
| | Setzt den Pre-Counter für PWM.
|
| |
| uint32_t | pwm_get_pre_counter (void) |
| | Liest den aktuellen Pre-Counter für PWM.
|
| |
| void | gpio_write_pin (uint8_t pin, uint8_t value) |
| | Schreibt einen Wert auf einen GPIO-Pin.
|
| |
| uint8_t | gpio_read_all_pins (void) |
| | Liest alle GPIO-Pins.
|
| |
| uint8_t | gpio_read_pin (uint8_t pin) |
| | Liest den Zustand eines bestimmten GPIO-Pins.
|
| |
| void | gpio_set_direction (uint8_t pin, uint8_t direction) |
| | Setzt die Richtung eines GPIO-Pins.
|
| |
| uint8_t | gpio_read_direction (uint8_t pin) |
| | Liest die Richtung eines GPIO-Pins.
|
| |
Implementierung der WGRHAL-Bibliothek für den WGR-V-Prozessor.
Diese Datei enthält die Implementierung der in wgrhal.h deklarierten Funktionen. Sie stellt grundlegende Hardware- und Systemfunktionen für den WGR-V-Prozessor bereit, darunter:
- Speicher- und String-Funktionen
- Debug-Ausgaben
- UART-Kommunikation
- Zeitverwaltung (Millisekunden/Mikrosekunden)
- PWM-Steuerung
- GPIO-Zugriff
Diese Funktionen ermöglichen eine einfache und effiziente Nutzung der Peripherie.
Definiert in Datei wgrhal.c.