www.mikrocontroller.net

Forum: Compiler & IDEs Fifo beschreiben und auslesen


Autor: Frank Polle (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Frank Polle (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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 !

Autor: kosmonaut pirx (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
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.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.