SRAM piena e metodi alternativi di memorizzazione
ciao tutti! vi espongo il mio problema: ho necessità di memorizzare 4 array di interi piuttosto ingombranti che mi portano in saturazione la sram dell'arduino uno.. questo punto ho cercato metodi alternativi quali la memorizzazione su sd e la lettura solo in caso di necessità, la lettura da eeprom e la memorizzazione su flash... ma... per quanto riguarda la prima soluzione sforo la dimensione della flash dal momento che il codice utilizza delle stringhe per memorizzare la variabile in locale e poi la deve maneggiare per portarla prima in "char" e poi in "int"... quindi troppo lungo, piuttosto complesso e poco efficiente, la 2a potrebbe andare bene ma ho alcuni problemi con il codice di scrittura che mi dà un errore di tipo "copy_array:22: error: expected primary-expression before '.' token" che sinceramente non capisco... se poteste darmi una mano ve ne sarei grato
grazie!

quote
/*lo sketch permette di scrivere su eeprom un vettore di
interi e di stampare successivamente su seriale l'array*/
#define eeprom.h
unsigned int on_0[] = {4400,4300,550,1600,500,1600,550,1600,550,1600,550,500,550,550,500,1600,550,550,550,500,550,500,550,550,550,500,550,1600,550,1600,550,500,550,1600,550,500,550,550,500,550,550,500,550,550,550,500,550,1600,550,1600,500,1600,550,1600,550,1600,550,1600,500,1600,550,1600,550,550,500,550,550,500,550,550,550,500,550,500,550,550,550,500,550,550,500,1600,550,1600,550,500,550,550,550,500,550,550,500,550,550,500,550,550,550,500,550,500,550,500,600,500,550,550,500,550,550,500,550,1600,550,500,550,550,550,500,550,550,500,550,550,500,550,550,550,500,550,1600,550,500,550,550,500,550,550,500,550,550,550,500,550,550,500};
int a=0;
int value=0;
int vect=0;
int i=0;
void setup()
{
serial.begin(9600);
serial.print(f("dimensione dell'array:"));
serial.print(f("\t"));
serial.print(sizeof(on_0));
serial.println();
for(i=0 ; < (sizeof(on_0)/sizeof(int))-1 ; i++){
vect=on_0;
eeprom.write(i,vect);
}
}
void loop(){
value = eeprom.read(a);
serial.print(a);
serial.print("\t");
serial.print(value);
serial.println();
a++;
if(a==1024){
a=0;
}
delay(500);
}
cos'è il codice raw di un telecomando ir?
Arduino Forum > International > Italiano > Software (Moderator: leo72) > SRAM piena e metodi alternativi di memorizzazione
arduino
Comments
Post a Comment