Diese Bibliothek bietet die Funktionen für das AVR asynchrone serielle Interface
Makrofunktion um den USART Baudratenregisterwert im asynchronen Modus zu berechnen. Parameter:
Initialisiert asynchrones USART. Parameter:
Blockiert die Übertragung von Zeichen. Die Funktionen warten solange bis der Ausgabespeicher leer ist, bevor ein Zeichen in den Speicher geschrieben wird. Parameter:
Blockierende String-Übertragung. Parameter:
Überprüft Empfangsspeicher auf Daten. Parameter:
Liest ein Zeichen aus dem Empfangsspeicher. Zuvor muss der Nuter überprüfen ob tatsächlich ein Zeichen empfangen wurde. Parameter:
Liest ein Zeichen aus dem Empfangsspeicher, falls eins vorhanden ist. Parameter:
Die USART Schnittstelle ist konfiguriert um 8 Datenbits, ein Stop-Bit, 9600 bps Baudrate und keinen Paritätsmodus zu nutzen. Das Programm sendet einen String, wartet bis die Zeichen empfangen wurden und ließt sie dann aus.
#include <homelab/usart.h> // Nutze USART Schnittstelle 0. usart port = USART(0); int main(void) { char c; // Initialisierung der Schnittstelle. usart_init_async(port, USART_DATABITS_8, USART_STOPBITS_ONE, USART_PARITY_NONE, USART_BAUDRATE_ASYNC(9600)); // Senden des String. usart_send_string(port, "Hello\n"); // Auf ankommende Daten warten. while (!usart_has_data(port)) {} // Empfangenes Zeichen auslesen. c = usart_read_char(port); }