Titelbild Mikrocontroller

15.7.1. Empfangen von Frames mit 5 bis 8 Datenbits

Der Empfänger startet einen Datenempfang, wenn er ein gültiges Startbit erkennt. Jedes Bit das darauf folgt, wird mit der Baudrate oder dem XCK Takt abgetastet und in das Empfangsschieberegister geschoben bis das erste Stoppbit des Frames empfangen wird. Das zweite Stoppbit wird vom Empfänger ignoriert. Wenn das erste Stoppbit empfangen wurde, d.h. ein komplettes serielles Frame liegt im Eingangsbuffer, wird der Inhalt des Schieberegisters in den Empfangsbuffer geschoben. Der Empfangsbuffer kann dann ausgelesen werden, indem die UDR I/O Speicherzelle gelesen wird.

Das folgende Programmbeispiel zeigt eine einfache USART Empfangsfunktion, die auf dem Pollen des Receive Complete (RXC) Flags basiert. Wenn Frames mit weniger als 8 Datenbits verwendet werden, werden die MSB, die aus dem UDR gelesen werden mit Null maskiert. Die USART muss initialisiert werden, bevor die Funktion genutzt werden kann.
Codebeispiel Empfang

Codebeispiel Empfang



Die Funktion wartet bis Daten im Empfangsbuffer vorliegen, indem es permanent das RXC Flag abfragt, bevor es den Buffer ausliest.
Impressum