FIFO Code gesucht

Gast #12747
Lesenswert?

Hallo!

Ich möchte gerne Daten über die serielle Schnittstelle empfangen und 
suche noch ein Codebeispiel in C für einen FIFO-Buffer. Das soll 
interruptgesteuert ablaufen und ich hab keinen Bock das Rad neu zu 
erfinden. Sowas gibt es sicher schon irgendwo. Bin für Hinweise oder 
Beispielcode dankbar!


Gruss & Dank

Frank
Gast #12748
Lesenswert?

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
Angehängte Dateien:

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren