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 | ||
) |