Come srivere e leggrere una stringa dalla Eeprom di Arduino

  • Guido
  • Autore della discussione
  • Platino Utente
  • Platino Utente
Di più
7 Anni 9 Mesi fa #1 da Guido
Salve, per fare pratica mi potete indicare il codice base per poter srivere e poi leggrere una stringa dalla Eeprom di Arduino?
Grazie Guido

Si prega Accesso o Crea un account a partecipare alla conversazione.

  • Claudio_F
  • Premium Utente
  • Premium Utente
Di più
7 Anni 9 Mesi fa #2 da Claudio_F
Ciao, ecco dei link in italiano
www.mauroalfieri.it/elettronica/tutorial...prom-di-arduino.html
forum.arduino.cc/index.php?topic=35766.0
playground.arduino.cc/Italiano/newbie
Le stringhe in C non esistono, sono un'array di char terminati dal carattere '/0' indicatore di fine stringa

comunque sul sito ufficiale trovi tanto materiale anche in italiano
I seguenti utenti hanno detto grazie : Guido

Si prega Accesso o Crea un account a partecipare alla conversazione.

  • Guido
  • Autore della discussione
  • Platino Utente
  • Platino Utente
Di più
7 Anni 9 Mesi fa #3 da Guido
Ciao e grazie, non riesco a capire come modificare il codice per scvivere delle parole nella eeprom e poi leggerle:
Code:
#include <EEPROM.h> int a = 0; int value; void setup() { Serial.begin(9600); for (int i = 0; i < 1024; i++) EEPROM.write(i, i); } void loop() { value = EEPROM.read(a); Serial.print(a); Serial.print("\t"); Serial.print(value); Serial.println(); a = a + 1; if (a == 1024) a = 0; delay(500); }

Si prega Accesso o Crea un account a partecipare alla conversazione.

  • Claudio_F
  • Premium Utente
  • Premium Utente
Di più
7 Anni 9 Mesi fa #4 da Claudio_F
#include <EEPROM.h>

int a = 0;
int value;
char string[] = "Hello"; // 5 caratteri+carattere NULL 

void setup()
{
Serial.begin(9600);
for (a = 0 ; a<6 ; a++)
{

EEPROM.write(a, string[a]);
}
for (a = 0 ; a<6 ; a++) // pulisco l'array
{
string[a]=' ';
}
}

void loop()
{
for (a = 0 ; a<5 ; a++)
{
string[a] = EEPROM.read(a);

}
string[5]='\n';
Serial.print(string);
Serial.println();
delay(500);
}

Si prega Accesso o Crea un account a partecipare alla conversazione.

  • Guido
  • Autore della discussione
  • Platino Utente
  • Platino Utente
Di più
7 Anni 9 Mesi fa #5 da Guido
Grazie, va benissimo. Per cortesia ancora un informazione, è possibile assegnare alla stringa celle di memoria precise (tipo scrivi e leggi dalla cella 10 alla 30) per non scrivere tutta la memoria?
Code:
#include <EEPROM.h> int a = 0; int value; char string[] = "Hello World "; // 11 caratteri+carattere NULL void setup() { Serial.begin(9600); for (a = 0 ; a<12 ; a++) { EEPROM.write(a, string[a]); } for (a = 0 ; a<12 ; a++) // pulisco l'array { string[a]=' '; } } void loop() { for (a = 0 ; a<11 ; a++) { string[a] = EEPROM.read(a); } string[11]='\n'; Serial.print("\t"); Serial.print(string); Serial.println(); delay(500); }

Si prega Accesso o Crea un account a partecipare alla conversazione.

Moderatori: Mauro Laurenti

Registrati al sito

Accedi a tutte le risorse e articoli non visibili pubblicamente, puoi registrarti con pochi passi.

Registrati al sito LaurTec.