Table of Contents

Serielles Interface

Diese Bibliothek bietet die Funktionen für das AVR asynchrone serielle Interface

Datentypen

Funktionen

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:

Beispiel

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