salvare variabili (e librerie) in FLASH piuttosto che SRAM

Salve,
Sto facendo uno sketch per una stazione meteorologica. Ho un bel problema riguardo la memoria satura della SRAM (2KB) dove vanno salvati variabili e librerie incluse nello sketch.
Mi sono imbattuto in questo problema quando ho incluso nello sketch la libreria <SD.h>

Ora, scartando l’idea di acquistare un arduino mega o fishino mega, ho letto in vari post di leo72 che in microcontrollori atmega328 non è possibile aggiungere una memoria esterna…
Una soluzione potrebbe essere allora quella di salvare le variabili in FLASH piuttosto che SRAM…cosi da liberarne un po di spazio ed evitare gli che produce l’instabilità…
Purtroppo non ho trovato molto in rete…chiedo quindi a voi se è possibile fare questa operazione, oppure ovviamente, ad altre :smiley:

Grazie mille! ;D

Nella flash puoi salvare solo costanti e NON variabili ...
... sono quelle che vedi in giro definite come PROGMEM.

Guglielmo

Grazie gpb per la risposta,
quindi un modo per risolvere il mio problema (oltre quello di un acquisto di arduino mega) quale sarebbe? Ho pensato pure ad un collegamento tra due arduino, dove uno interroga i sensori e l'altro li memorizza in sd..
Spero ci siano altre soluzioni :confused:

Mi spiace, ma se il problema è un problema di "variabili" ovvero di SRAM ...
... o ottimizzi il codice vedendo se è possibile risparmiare memoria o, se questo lo hai già fatto ... non ci sono altre soluzioni, occorre una scheda con più SRAM.

Guglielmo

ciao

gpb01:
... o ottimizzi il codice vedendo se è possibile risparmiare memoria ...

ovvero: hai gia usato la macro F() in tutti i Serial.print contenenti stringhe fisse all'interno del tuo sketch?

ciao
pippo72

pippo72:
ciao

ovvero: hai gia usato la macro F() in tutti i Serial.print contenenti stringhe fisse all'interno del tuo sketch?

ciao
pippo72

Wow, ho quasi dimezzato la memoria..non ne sapevo nemmeno l'esistenza, mi sono documentato sulla reference, grazie :smiley: