Hallo Bumbum
Zum Thema Ring- Buffer:
Ist das Ziel eines Ring- Buffers nicht, das man die Daten in einem Rutsch einlesen , danach auswerten und wieder löschen kann und so dem Ring- Buffer auch eine fixe Grösse zuweisen kann?
Ich sehe das jedenfalls so und mache es auch so.
Gruss
Hallo ahabakukuk,
ich glaube genau das ist nicht der Sinn eines Ringbuffers. Wenn du eh weißt wieviele Daten kommen kannst du dann, wie von dir schon herausgefunden, einen Buffer fester Größe definieren, alles einlesen und dann auswerten. Beim nächsten Datensatz fängst du einfach wieder vorne am Buffer an.
Einen Ringbuffer nimmt ma bei anderen Gegenheiten wie z.B. bei meinem Fall. Da kommen ca. 64kB (64000 Bytes) Daten oder mehr in ein paar Sekunden über die RS232. Von dieser "Datenflut" brauche ich dann ein paar Bytes zwischendrin. Die Daten werden per Interrupt in den Ringbuffer geschrieben und zwar ringförmig. Wenn ich das letzte Byte in den Buffer geschrieben habe kommt das nächste automatisch wieder an den Anfang des Buffers.
Ich muss nur schneller auswerten, wie Daten gesendet sind. In meinem Fall komme ich z.B. mit ca. 50 Bytes an Ringbuffer zurecht und kann die Kilobytes an Daten mit einem ATMega162 mit gerade mal 1kB RAM problemlos auswerten.
Viele Grüße
Andreas
Lesezeichen