# Prove con EEPROM

**URL:** <https://forum.arduino.cc/t/prove-con-eeprom/1176263>\
**Category:** Software\
**Created:** [October 8, 2023, 3:36pm UTC](https://forum.arduino.cc/t/prove-con-eeprom/1176263 "2023-10-08T15:36:39Z")\
**Posts on this page:** 9\
**Page:** 1

<div class="post-metadata">

**Author:** ![arturo2222](https://avatars.discourse-cdn.com/v4/letter/a/90db22/32.png) [@arturo2222](https://forum.arduino.cc/u/arturo2222)\
**Post date:** [October 8, 2023, 3:36pm UTC](https://forum.arduino.cc/t/prove-con-eeprom/1176263/1 "2023-10-08T15:36:39Z")

</div>

Questo è il codice scritto per fare le prove:

```arduino
#include <EEPROM.h> // Libreria per usare la memoria EEprom di Arduino

byte a=1;
byte b=1;
byte c=1;
byte d=1;
byte e=1;
byte f[]= {100,100,100,100,100,100,100,100};
byte g[]= {100,100,100,100,100,100,100,100};
byte h[]= {100,100,100,100,100,100,100,100};
byte l =0;

void setup() {
/*
EEPROM.write(0,20);
EEPROM.write(1,40);
EEPROM.write(2,15);
EEPROM.write(3,20);
EEPROM.write(4,100);
for (int i=5;i<13;i++) {
EEPROM.write(i,0);
}
for (int i=13;i<21;i++) {
EEPROM.write(i,2);
}
for (int i=21;i<29;i++) {
EEPROM.write(i,2);
}*/
Serial.begin(9600);
a=EEPROM.read(0);
Serial.println(a);
b=EEPROM.read(1);
Serial.println(b);
c=EEPROM.read(2);
Serial.println(c);
d=EEPROM.read(3);
Serial.println(d);
e=EEPROM.read(4);
Serial.println(e);
for (int i=5;i<13;i++) {
l++;
f[l]=EEPROM.read(i);
Serial.println(f[l]);
}
l=0;
Serial.println("-------------");
for (int i=13;i<21;i++) {
l++;
g[l]=EEPROM.read(i);
Serial.println(g[l]);
}
l=0;
Serial.println("-------------");
for (int i=21;i<29;i++) {
l++;
h[l]=EEPROM.read(i);
Serial.println(h[l]);
}
}

void loop() {

}

```

Per mia cosa ho scritto i dati col codice scritto tra /\* e \*/. Poi ho creato il codice per leggere, tutto apposto tranne per una cosa, guardate la foto seguente:

 ![prova eeprom](https://europe1.discourse-cdn.com/arduino/original/4X/a/a/a/aaa5253f1edf814674f3b4022d1b081993d7cfc0.png)

Prima dei valori, esatti e nel posto giusto, mi escono quei quadratini, cosa sono? Devo tenerne conto, dato che i valori in memoria si trovano con quelli messi da me precedentemente?  
Lo chiedo perchè se stacco Arduino dal pc e lo rimetto, in automatico mi escono i dati giusti senza quadratini. I quadratini escono ogni volta che reinvio il codice ad arduino.

---

<div class="post-metadata">

**Author:** ![gpb01](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/gpb01/32/830685_2.png) [@gpb01](https://forum.arduino.cc/u/gpb01)\
**Post date:** [October 8, 2023, 3:45pm UTC](https://forum.arduino.cc/t/prove-con-eeprom/1176263/2 "2023-10-08T15:45:06Z")

</div>

Cortesemente specifica **SEMPRE** di che modello di Arduino parli ... ne esistono ormai decine ed il comportamento è diverso in funzione della MCU che montano.

Guglielmo

---

<div class="post-metadata">

**Author:** ![arturo2222](https://avatars.discourse-cdn.com/v4/letter/a/90db22/32.png) [@arturo2222](https://forum.arduino.cc/u/arturo2222)\
**Post date:** [October 8, 2023, 3:47pm UTC](https://forum.arduino.cc/t/prove-con-eeprom/1176263/3 "2023-10-08T15:47:23Z")

</div>

Arduino mega

---

<div class="post-metadata">

**Author:** ![gpb01](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/gpb01/32/830685_2.png) [@gpb01](https://forum.arduino.cc/u/gpb01)\
**Post date:** [October 8, 2023, 4:07pm UTC](https://forum.arduino.cc/t/prove-con-eeprom/1176263/4 "2023-10-08T16:07:21Z")

</div>

> [@arturo2222](#):
>
> I quadratini escono ogni volta che reinvio il codice ad arduino.

Con il vecchio IDE (_che io continuo ad usare, visto che il nuovo lo considero poco più di una beta_), non mi sembra che si vedessero, comunque, probabilmente, dato che ti appaiono **solo quando invii il codice** (_ah ... guarda che le flash hanno vita limitata, quindi, se devi solo riavviare un programma, usa il tasto di reset e NON ricaricare_) ... direi che è una cattiva gestione del monitor seriale durante l'uso del _bootloader_ (_che, appunto, usa la seriale_) ... 🙄

Guglielmo

---

<div class="post-metadata">

**Author:** ![arturo2222](https://avatars.discourse-cdn.com/v4/letter/a/90db22/32.png) [@arturo2222](https://forum.arduino.cc/u/arturo2222)\
**Post date:** [October 8, 2023, 4:18pm UTC](https://forum.arduino.cc/t/prove-con-eeprom/1176263/5 "2023-10-08T16:18:37Z")

</div>

Per memoria flash intendi la EEPROM?

---

<div class="post-metadata">

**Author:** ![gpb01](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/gpb01/32/830685_2.png) [@gpb01](https://forum.arduino.cc/u/gpb01)\
**Post date:** [October 8, 2023, 4:36pm UTC](https://forum.arduino.cc/t/prove-con-eeprom/1176263/6 "2023-10-08T16:36:48Z")

</div>

NO, la memoria flash è quella **dove viene caricato il programma**... su AVR ha una vita un fattore 10 più corta della EEPROM.

Guglielmo

---

<div class="post-metadata">

**Author:** ![arturo2222](https://avatars.discourse-cdn.com/v4/letter/a/90db22/32.png) [@arturo2222](https://forum.arduino.cc/u/arturo2222)\
**Post date:** [October 8, 2023, 5:14pm UTC](https://forum.arduino.cc/t/prove-con-eeprom/1176263/7 "2023-10-08T17:14:08Z")

</div>

Ma sempre nella scrittura, spero.

---

<div class="post-metadata">

**Author:** ![gpb01](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/gpb01/32/830685_2.png) [@gpb01](https://forum.arduino.cc/u/gpb01)\
**Post date:** [October 8, 2023, 6:57pm UTC](https://forum.arduino.cc/t/prove-con-eeprom/1176263/8 "2023-10-08T18:57:37Z")

</div>

... ovvio, infatti di dicevo di NON ricaricare i programmi se non hai modifiche (_così da evitare scritture_), ma di usare semplicemente il tasto di reset per riavviare 😉

Guglielmo

---

<div class="post-metadata">

**Author:** ![system](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/system/32/1140315_2.png) [@system](https://forum.arduino.cc/u/system)\
**Post date:** [April 5, 2024, 6:58pm UTC](https://forum.arduino.cc/t/prove-con-eeprom/1176263/9 "2024-04-05T18:58:26Z")

</div>

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.
