Hallo Frank,
da sich Deiner keiner annimmt, hier meine Routinen für Interruptbetrieb
mit FIFO der ser. Schnittstelle bei AVR-Controllern.
FIFOs sind für Senden und Empfangen separat, wobei zu jedem FIFO
gehören: Puffer (hier statisch 1-255), Schreibzeiger, Lesezeiger und
Anzahl.
Beim Empfang (z.B.) wird das betreffende Zeichen in den Puffer mit
Schreibzeiger indiziert abgelegt; zudem werden Schreibzeiger und Anzahl
erhöht. Beim Auslesen wird das Zeichen Puffer[Lesezeiger++] gelesen und
die Anzahl verringert. (vorausgesetzt, daß der Puffer beim Empfang nicht
schon komplett voll, bzw. beim Lesen nicht komplett leer ist !)
Erreicht ein Zeiger das Pufferende, wird er wieder auf 0 gesetzt.
Die beiliegenden Routinen sind ein guter Kompromiss für Geschwindigkeit
und Speicherbedarf bei AVR-Controllern.
Ich hoffe, Dir hilft es.
Michael