Zitat Zitat von Kjion
Ringpuffer sind ja ganz cool, aber in dem Beispiel doch ein wenig übertrieben, oder ??
Wieso übertrieben?
Was nutzt mir schlanker oder schneller Code wenn er nicht korrekt ist... Zudem frisst der Code nicht wirklich Platz.
Ich hatte meine UART Routinen eben mit FiFo konzipiert, ist ja nicht so ungewöhnlich. AUsserdem trennt das meine Applikation von den UART-Routinen. Die UART-Routinen müssen nicht wissen, was da denn ankommt.

Zitat Zitat von izaseba
ich definiere mir immer eine uint8_t Variable als Volatile, dann habe ich 8 Flags zu Verfügung.
Mach ich ähnlich, allerdings mit einem globalen Register. Hat den Vorteil, daß Schreib-und Leseoperationen darauf atomar sind, also ein Interrupt zwischen Lesen und Schreiben beim Verändern nicht zwischenfunken kann
Register haben die AVRs ja genug.