Speicherproblem wegen Bytearray's

Gast #26050
Lesenswert?

Hallo
Ich habe in meinem Projekt recht viele Strings die alle eine  große 
Anzahl Zeichen besitzen.Ich habe ein paar Bytearrays bereitgestellt.
char eins[60];
char zwei[100];
      .
      .
      .
Nun ist bei meinem 8535 der RAM recht voll.Gibt es ne möglichkeit die 
Zeichenketten z.B. im EEPROM abzulegen?Die Zeichen empfange ich von der 
UART über den RX int.
Gruß Helge
#26053
Lesenswert?

Werden denn wirklich alle diese großen Arrays ständig oder gleichzeitig 
benötigt ?

Ein Vorteil eine Compilers gegenüber Assembler ist doch, daß er Speicher 
überlagern kann. D.h. Funktionen, die nie gleichzeitig ausgeführt 
werden, wird automatisch vom Linker der gleiche Speicher zugeteilt.

Deshalb soll man ja auch so wenig wie möglich globale oder static 
Variablen verwenden.


Vielleicht kannst Du ja Deine Aufgabe näher beschreiben und es findet 
sich dann eine wesentlich effektivere Lösung.


Peter
Gast #26054
Lesenswert?

Ich muß es noch mal ausprobieren ob ich den selben String nutzen 
kann.Zur Zeit sieht das ganze so aus:

char string[150]
char text[150]
char rx_buffer[80]

- ich empfange über den UART int zeichen (PDU)die im rx_buffer landen
- kopiere sie dann nach "string"
- wandle sie dann um und schreibe sie in "text"
vielleicht ist es ja möglich sie wieder in string zurück zu schreiben 
(versuche ich mal)
ansonsten sind schon 3 Zeichenketten belegt
Auch der rx_buffer scheint mir etwas zu groß.Weiß aber keine andere 
Lösung.Funktionieren tut das ganze jedenfalls so.

gruß helge

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren