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
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
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.