Fifo beschreiben und auslesen

Gast #608718
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
Gast #608727
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 !
Gast #608815
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

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.