uart beinhaltet rudimentäre Funktionen für den Umgang mit einer seriellen Schnittstelle. Die Anschlüsse der seriellen
Schnittstelle sind PD5 für transmit data (RxD) und PD6 für receive data (RxD). Zudem kann über einen Define-Schalter eine
Funktion zum Einlesen eines dezimalen Integerwertes aktiviert werden.
Vorhanden Funktionen sind:
void uart_init(uint32_t baudrate);
void uart_putchar(uint8_t ch);
uint8_t uart_getchar(void);
uint8_t uart_ischar(void);
wenn mittels #define aktiviert:
int16_t readint(void);
Die Funktionen im einzelnen
|
Prototyp: void uart_init(uint32_t baudrate);
initialisiert die serielle Schnittstelle mit dem Protokoll 8 Datenbits, keine Parität, 1 Stopbit (8N1).
Übergabe:
baudrate : einzustellende Baudrate
Prototyp: void uart_putchar(uint8_t ch);
sendet ein Zeichen auf der seriellen Schnittstelle
Übergabe:
ch : zu sendendes Zeichen
Prototyp: uint8_t uart_getchar(void);
wartet solange, bis auf der seriellen Schnittstelle ein Zeichen eingegangen ist und liest dieses ein.
Rückgabe: gelesenes Zeichen
Prototyp: uint8_t uart_ischar(void);
testet, ob auf der seriellen Schnittstelle ein Zeichen eingegangen ist, liest dieses aber nicht ein. uart_ischar wartet
auch nicht auf ein eingehendes Zeichen und blockiert von daher den Programmablauf nicht.
Rückgabe:
1 : es ist ein Zeichen eingetroffen
0 : eis ist kein Zeichen verfügbar
Prototyp: int16_t readint(void);
Da readint per default nicht verfügbar ist, muß diese Funktion in der Header-Datei durch einen Define-Schalter freigeschaltet werden:
#define readint_enable 1
readint liest einen 16-Bit signed Integer auf der seriellen Schnittstelle ein, der Eingabebereich reicht hier allerdings
nur von -32767 .. +32767. Eine Korrektur ist mit der Backspacetaste (löschen nach links) möglich.
Rückgabe: eingelesener dezimaler Integerwert (16 Bit)