Forum: Mikrocontroller und Digitale Elektronik FIFO Code gesucht


von FrankieH (Gast)


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

von Michael (Gast)


Angehängte Dateien:

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

von FrankieH (Gast)


Lesenswert?

Hallo Michael,

sorry für die späte Antwort. Vielen Dank für den Code, hab ich gut 
gebrauchen können. War echt nett den mal hier zur Verfügung zu stellen.

Gruss & Dank

Frank

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.