Forum: Compiler & IDEs Fifo beschreiben und auslesen


von Frank Polle (Gast)


Lesenswert?

Mahlzeit !
Folgende Sache beschäftigt mich gerade und bereitet mir etwas 
Kopfschmerzen.

Ich habe einen Fifo (RINGPUFFER) den ich an mehreren Stellen im Programm 
beschreiben möchte. Mal da 8Bit, dann 10Bit, dann 6Bit, etc. Nun, das 
schreiben ist nicht das Problem! Das Auswerten bereitet mir die 
Probleme. Ich möchte den Fifo an unterschiedlichen Stellen wieder 
auslesen! Nun, das auslesen geht auch soweit  in Ordnung. Die Zuordnung 
der Daten muss korrekt erfolgen.

Besteht die Möglichkeit das ich erst die 6Bit, obwohl die als letztes 
geschrieben wurde, als erstes Abfrage?

Oder kann ich wirklich nur sukzessiv die Daten bekommen, wie ich diese 
rein geschoben habe ?



MFG Frank

von Frank Polle (Gast)


Lesenswert?

Noch ein kleiner Zusatz:

Wenn ich mir ne State Maschine baue, in dem ich den Ringpuffer auslese,
wie bekomme ich am besten die Daten sortiert? Ich habe nun eine 
unterschiedliche Anzahl von Bytes, die ich verarbeiten muss!
Oder hat jeder String ein "NULL" als Abschluss ?

Irgendwie muss ich die Daten doch entzerren können, oder ?
Wenn ich HALLO und MOIN in den Puffer schreibe, muss ich diese doch auch 
irgendwie auseinander halten können ?

PLEASE HELP !

von kosmonaut pirx (Gast)


Lesenswert?

hallo,
afaik hat jeder string am ende eine 0 (hab mein k&r grad nicht zur 
hand).

ringbuffer .. ist irgendwie kein ringbuffer, wenn du daten rausholst, 
obwohl noch an vorigen positionen welche drin stehen.

spontane ideen dazu:
- mehrere ringbuffer-zeiger für deine bits. also einen für 10, 11, 6. 
klappt natürlich nur, wenn das diskret und fix ist.
- oder gleich mehrere ringbuffer
- oder einen puffer, der maximale daten aufnimmt. also deine 10 + 11 + 6 
bits beispielsweise. solange noch platz, wird nicht .. comitted. so 
kriegst du deine 6 bit wieder raus. dummerweise auch den rest der daten, 
nu ja.

bye kosmo

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.