Headerdatei der WGRHAL-Bibliothek. Mehr ...
#include "wgrtypes.h"gehe zum Quellcode dieser Datei
Makrodefinitionen | |
| #define | MALLOC |
| #define | PWM_NOTES |
| #define | SSD1351 |
| #define | SYSTEM_CLOCK 10000000 |
| Definiert die Systemtaktfrequenz in Hertz. | |
| #define | HWREG32(addr) (*((volatile uint32_t *)(addr))) |
| Makro zur Adressierung von speicherabgebildeten Registern. | |
| #define | nop() __asm__ volatile("nop") |
| Nop-Operation. | |
| #define | DEBUG_ADDR 0x00000100 |
| Basisadresse für das Debug-Register. | |
| #define | UART_BASE_ADDR 0x00000200 |
| Basisadresse für den UART. | |
| #define | UART_CTRL_OFFSET 0x00 |
| Offset für das UART-Steuerregister. | |
| #define | UART_BAUD_OFFSET 0x04 |
| Offset für das UART-Baudratenregister. | |
| #define | UART_STATUS_OFFSET 0x08 |
| Offset für das UART-Statusregister. | |
| #define | UART_TX_OFFSET 0x0C |
| Offset für das UART-Sende-Register. | |
| #define | UART_RX_OFFSET 0x10 |
| Offset für das UART-Empfangsregister. | |
| #define | TIME_BASE_ADDR 0x00000300 |
| Basisadresse für Zeitfunktionen. | |
| #define | TIME_MS_L_OFFSET 0x00 |
| Offset für die niederwertigen 32-Bit des Millisekundenzählers. | |
| #define | TIME_MS_H_OFFSET 0x04 |
| Offset für die höheren 32-Bit des Millisekundenzählers. | |
| #define | TIME_MIK_L_OFFSET 0x08 |
| Offset für die niederwertigen 32-Bit des Mikrosekundenzählers. | |
| #define | TIME_MIK_H_OFFSET 0x0C |
| Offset für die höheren 32-Bit des Mikrosekundenzählers. | |
| #define | SYS_CLK_OFFSET 0x10 |
| Offset für den Systemtakt. | |
| #define | PWM_BASE_ADDR 0x00000400 |
| Basisadresse für PWM-Funktionen. | |
| #define | PWM_PERIOD_OFFSET 0x00 |
| Offset für das PWM-Periode-Register. | |
| #define | PWM_DUTY_OFFSET 0x04 |
| Offset für das PWM-Duty-Cycle-Register. | |
| #define | PWM_COUNTER_OFFSET 0x08 |
| Offset für das PWM-Zählerregister. | |
| #define | PWM_CTRL_OFFSET 0x0C |
| Offset für das PWM-Steuerregister. | |
| #define | GPIO_BASE_ADDR 0x00000800 |
| Basisadresse für GPIO-Funktionen. | |
| #define | GPIO_DIR_OFFSET 0x0000 |
| Offset für das GPIO-Richtungsregister. | |
| #define | GPIO_IN_OFFSET 0x0004 |
| Offset für das GPIO-Eingangsregister. | |
| #define | GPIO_OUT_OFFSET 0x0008 |
| Offset für das GPIO-Ausgangsregister. | |
| #define | GPIO_OUT_STEP 0x04 |
| Schrittweite zwischen den Ausgangsregistern der einzelnen Pins. | |
| #define | GPIO_PIN_COUNT 8 |
| Anzahl der verfügbaren GPIO-Pins. | |
| #define | DEFAULT_TIMEOUT 10 |
| Standard-Zeitüberschreitung in Millisekunden. | |
Funktionen | |
| 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. | |
| uint32_t | pwm_get_mode (void) |
| Liest den aktuellen 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. | |
Headerdatei der WGRHAL-Bibliothek.
Diese Datei enthält Definitionen und Deklarationen für Standard-Memory-Funktionen, String-Funktionen, Debug-Ausgaben, UART, Zeitfunktionen, PWM und GPIO für den WGR-V-Prozessor.
Definiert in Datei wgrhal.h.
| #define DEBUG_ADDR 0x00000100 |
| #define DEFAULT_TIMEOUT 10 |
| #define GPIO_BASE_ADDR 0x00000800 |
| #define GPIO_DIR_OFFSET 0x0000 |
| #define GPIO_IN_OFFSET 0x0004 |
| #define GPIO_OUT_OFFSET 0x0008 |
| #define GPIO_OUT_STEP 0x04 |
| #define GPIO_PIN_COUNT 8 |
| #define HWREG32 | ( | addr | ) | (*((volatile uint32_t *)(addr))) |
| #define PWM_BASE_ADDR 0x00000400 |
| #define PWM_COUNTER_OFFSET 0x08 |
| #define PWM_CTRL_OFFSET 0x0C |
| #define PWM_DUTY_OFFSET 0x04 |
| #define PWM_PERIOD_OFFSET 0x00 |
| #define SYSTEM_CLOCK 10000000 |
| #define TIME_BASE_ADDR 0x00000300 |
| #define TIME_MIK_H_OFFSET 0x0C |
| #define TIME_MIK_L_OFFSET 0x08 |
| #define TIME_MS_H_OFFSET 0x04 |
| #define TIME_MS_L_OFFSET 0x00 |
| #define UART_BASE_ADDR 0x00000200 |
| #define UART_BAUD_OFFSET 0x04 |
| #define UART_CTRL_OFFSET 0x00 |
| #define UART_RX_OFFSET 0x10 |
| #define UART_STATUS_OFFSET 0x08 |
| #define UART_TX_OFFSET 0x0C |
| void debug_write | ( | uint32_t | value | ) |
| void delay | ( | uint32_t | ms | ) |
| void delay_micro | ( | uint32_t | microsec | ) |
| uint32_t get_sys_clk | ( | void | ) |
| uint8_t gpio_read_all_pins | ( | void | ) |
| uint8_t gpio_read_direction | ( | uint8_t | pin | ) |
| uint8_t gpio_read_pin | ( | uint8_t | pin | ) |
| void gpio_set_direction | ( | uint8_t | pin, |
| uint8_t | direction | ||
| ) |
| void gpio_write_pin | ( | uint8_t | pin, |
| uint8_t | value | ||
| ) |
| void int_to_str | ( | int32_t | num, |
| int | base, | ||
| char * | str | ||
| ) |
| void * memcpy | ( | void * | dest, |
| const void * | src, | ||
| uint32_t | n | ||
| ) |
| void * memmove | ( | void * | dest, |
| const void * | src, | ||
| uint32_t | n | ||
| ) |
| void * memset | ( | void * | dest, |
| int32_t | c, | ||
| uint32_t | n | ||
| ) |
| uint32_t micros | ( | void | ) |
| uint64_t micros_long | ( | void | ) |
| void micros_reset | ( | void | ) |
| uint32_t millis | ( | void | ) |
| uint64_t millis_long | ( | void | ) |
| void millis_reset | ( | void | ) |
| int32_t parse_int_multi | ( | const char * | str, |
| const char ** | next | ||
| ) |
| int32_t parse_integer | ( | const char * | str | ) |
| uint32_t pwm_get_control | ( | void | ) |
| uint32_t pwm_get_counter | ( | void | ) |
| uint32_t pwm_get_duty | ( | void | ) |
| uint32_t pwm_get_mode | ( | void | ) |
Liest den aktuellen PWM-Modus.
| uint32_t pwm_get_period | ( | void | ) |
| uint32_t pwm_get_pre_counter | ( | void | ) |
| void pwm_set_50_percent_mode | ( | uint8_t | enable | ) |
| void pwm_set_control | ( | uint32_t | control | ) |
| void pwm_set_duty | ( | uint32_t | duty | ) |
| void pwm_set_mode | ( | uint8_t | enable_pwm | ) |
| void pwm_set_period | ( | uint32_t | period | ) |
| void pwm_set_pre_counter | ( | uint16_t | pre_counter | ) |
| int32_t strcmp | ( | const char * | s1, |
| const char * | s2 | ||
| ) |
| char * strcpy | ( | char * | dest, |
| const char * | src | ||
| ) |
| uint32_t strlen | ( | const char * | s | ) |
| int32_t strncmp | ( | const char * | s1, |
| const char * | s2, | ||
| uint32_t | n | ||
| ) |
| void uart_disable | ( | void | ) |
| void uart_enable | ( | void | ) |
| uint32_t uart_get_status | ( | void | ) |
| char uart_getchar | ( | uint32_t | timeout_ms | ) |
| uint32_t uart_is_busy | ( | void | ) |
| uint32_t uart_is_ready | ( | void | ) |
| void uart_print | ( | const char * | s | ) |
| void uart_print_int | ( | int32_t | num | ) |
| void uart_print_uint | ( | uint32_t | num, |
| int32_t | base | ||
| ) |
| int32_t uart_putchar | ( | char | c, |
| uint32_t | timeout_ms | ||
| ) |
| void uart_putchar_default_timeout | ( | char | c | ) |
| int32_t uart_read_buffer | ( | uint8_t * | buf, |
| uint32_t | length, | ||
| uint32_t | timeout_ms | ||
| ) |
| int32_t uart_read_byte | ( | uint8_t * | data, |
| uint32_t | timeout_ms | ||
| ) |
| uint32_t uart_rx_empty | ( | void | ) |
| uint32_t uart_rx_full | ( | void | ) |
| void uart_send_uint32 | ( | uint32_t | value, |
| uint32_t | timeout_ms | ||
| ) |
| void uart_set_baud | ( | baud_sel_t | baud | ) |
| uint32_t uart_tx_empty | ( | void | ) |
| uint32_t uart_tx_full | ( | void | ) |
| int32_t uart_wait_rx_data | ( | uint32_t | timeout_ms | ) |
| int32_t uart_wait_tx_full | ( | uint32_t | timeout_ms | ) |
| int32_t uart_write_buffer | ( | const uint8_t * | buffer, |
| uint32_t | length, | ||
| uint32_t | timeout_ms | ||
| ) |