Zitat Zitat von demmy Beitrag anzeigen
was passiert wenn das Interrupt einer UART aktiv ist während die zweite auch ein Byte empfängt? Geht dieses dann nicht verloren?
Nein. Die beiden HW UARTs haben getrennte Eingangspuffer. Nur sollte deine ISR wie immer möglichst kurz sein.

Zitat Zitat von demmy Beitrag anzeigen
aktuell prüfe ich ja auch ob die Länge des Frames korrekt ist. Langt es zu prüfen ob der ankommende Frame zu kurz ist? Kann es überhaupt sein das er aufgrund eines Fehlers mehr Bytes enthält als gesendet wurden? Ist dieser Fehler in der Übertragung überhaupt möglich? also zu viele Bytes?
Würde ich zunächst mal nicht ausschließen. Peaks auf der Leitung könnten schon zusätzliche Bits darstellen.

Zitat Zitat von demmy Beitrag anzeigen
zu deinem Punkt 2. Das müsste ich ganz oben in der Variablendeklaration machen oder? Aber würde er dann nicht immer sofort wenn das Array neu beschrieben wurde den wert an die variable übergeben? Ich muss doch vorher prüfen ob die checksumme der eingetroffenen Daten korrekt ist. Ist dies nicht der Fall sind die empfangenen Daten ungültig und werden einfach wieder überschrieben.
Oder versteh ich dich gerade falsch?
Wäre es denn in deinem Code schlimm, wenn die empfangenen Zeichen direkt in die Variablen übernommen würden? In der Regel werden die Daten doch korrekt übertragen, oder ist die Verbindung so schlecht?
Der Check auf Gültigkeit kann dann am Ende immer noch erfolgen.