Forum: Compiler & IDEs Variable Anzahl Pufferbytes von LCD ´runterladen - Alternative zu dynamischer Speicherzuweisung?


von Harald (Gast)


Lesenswert?

Hallo,

ich stehe hier vor dem Problem, daß ich von einem LCD über SPI den 
Sendepuffer auslesen muß. Die Anzal der zu lesenden Pufferbytes kann vor 
der Übertragung ermittelt werden, ist aber von Fall zu Fall verschieden.
Im Moment veruche ich das Problem mit Pointern und der Allokation von 
Speicher zu lösen, aber das führt immer wieder zu Problemen.

Gibt es ein anderes Verfahren, mit dem dieses Problem gelöst werden 
kann? malloc ist ja sehr Fehleranfällig (Heap-Fragmentierung etc.)

Gruß,
Harald

von Karl H. (kbuchegg)


Lesenswert?

Die Hauptfrage: Gibt es eine Obergrenze für das Auszulesende?
Also eine Grenze über die du nie drüberkommen wirst, egal
was du vom LCD ausliest.

Wenn ja, dann dimensioniere ein Array in dieser Größe und lebe
damit, dass du manchmal Speicher verschwendest.

von Matthias L. (Gast)


Lesenswert?

Was ist mit der klassischen altmodischen Art?

Ein Array fest anlegen, dass so groß ist, wie du maximal an Daten lesen 
kannst. (Ne Art worst-case Betrachtung)
Und einfach den Rest des Arrays frei lassen. Du weißt ja eh, wieviel 
Daten "gültig" sind.

von Simon K. (simon) Benutzerseite


Lesenswert?

Vielleicht auch die Daten immer nur Stückchenweise empfangen und 
verarbeiten. Dann könnte die Puffergröße fixiert bleiben.

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.