Programmieren: Datenempfang mit UART-/USART-Kommunikation
Teilen
Bevor die Empfangsdaten gelesen werden können, muss uns das Empfangsdaten-Bereit-Flag mitteilen, dass die Daten zur Entnahme bereit sind. Wenn das RXC (Receive Complete)-Flag im UCSRA (USART Control and Status Register A) gesetzt sein muss, wird ein while (! (UCSRA (1 << RXC)) ); verwendet, um auf das Setzen dieses Flags zu warten. Wenn es mehr als einen USAR/UART gibt, dann ist RXC gleich RXC0 und UCSRA ist UCSR0A.
Um die Daten zu empfangen, wenn sie bereit sind, weisen Sie einfach einer Variablen den Wert im UDR-Register zu: unsigned char receiveData = UDR; UDR ist UDR0, wenn es mehr als einen USART/UART gibt.