15.7.4. Empfänger Error Flags
Der USART Empfänger hat drei Fehler Flags: Frame Error (FE), Data OverRun (DOR) und Parity Error (PE). Auf alle Flags kann durch Lesen des UCSRA Registers zugegriffen werden. Die Fehler Flags werden im Eingangsbuffer zusammen mit dem Frame, für den sie den Fehlerstatus signalisieren, abgelegt. Da auch die Fehler Flags gebuffert werden, muss das UCSRA Register ausgelesen werden, bevor der Empfangsbuffer (UDR) gelesen wird, da das Lesen des UDR I/O Speicherzelle die Bufferlesestelle verändert. Eine andere Eigenschaft der Fehler Flags ist, dass sie durch das Beschreiben durch die Software nicht verändert werden können. Trotzdem müssen alle Flags beim Schreiben in das UCSRA Register auf Null gesetzt sein, um die Kompatibilität zu zukünftigen USART Erweiterungen sicherzustellen. Keines der Fehler Flags löst einen Interrupt aus.
Das Frame Error (FE) Flag zeigt des Status des ersten Stoppbits des als nächstes auszulesenden Frames an, der im Empfangsbuffer steht. Das FE Bit ist null, wenn das Stoppbit korrekt (als 1) gelesen wurde und das Bit ist eins, wenn das Stoppbit falsch (also 0) war. Dieses Bit kann also verwendet werden, um Synchronisationsfehler, Abbrüche oder Protokollfehler zu erkennen. Das FE Flag wird durch das Setzen des USBS Bits im UCSRC Register nicht beeinflusst, da der Empfänger alle Stoppbits außer dem ersten ignoriert. Um die Kompatibilität zu zukünftigen Bausteinen zu gewährleisten, sollte das Bit beim Schreiben in das UCSRA Register auf 0 gesetzt sein.
Das Data OverRun Flag (DOR) signalisiert einen Datenverlust durch den Überlauf des Empfangsbuffers. Ein Datenüberlauf tritt auf, wenn der Empfangsbuffer voll ist (also zwei Zeichen enthält), ein neues Zeichen im Empfangsschieberegister wartet und ein neues Startbit erkannt wird. Wenn das DOR Flag gesetzt ist, sind also ein oder mehrere Frames zwischen dem zuletzt gelesenen Frame und dem nächsten Frame, des aus dem UDR gelesen werden kann, verloren gegangen. Um die Kompatibilität zu zukünftigen Bausteinen zu gewährleisten, sollte das Bit beim Schreiben in das UCSRA Register auf 0 gesetzt sein. Das DOR Flag wird gelöscht, wenn ein empfangenes Frame erfolgreich aus dem Schieberegister in den Eingangsbuffer transportiert wurde.
Das Parity Error Flag (PE) zeigt an, dass der nächste Frame im Empfangsbuffer einen Paritätsfehler beim Empfangen hatte. Wenn der Paritätscheck nicht freigegeben ist, wird das PE Bit immer als 0 gelesen. Um die Kompatibilität zu zukünftigen Bausteinen zu gewährleisten, sollte das Bit beim Schreiben in das UCSRA Register auf 0 gesetzt sein.