Mémoire EEPROM

Bonjour/Bonsoir,
Étant débutant en arduino, j’aimerai quelques conseils sur mon code arduino. J’aimerai écrire dans une mémoire EEPROM afin de sauvegarder des données pour les réutiliser plus tard et les afficher sur un écran lcd. j’ai fais des recherches pour “m’inspirer” mais je ne suis pas sûr de mon code
Je suis sur ARDUINO 1.8.2 et voici le code en question:

//


#include <Wire.h>
#define EEPROM_ADD 0xa2    // Adresse de l'EEPROM I2C

void setup(void)
{
  Serial.begin(9600);
  Wire.begin();  // Initialisation du bus I2C en mode "master"
 
  unsigned int address = 1;
 
  writeEEPROM(EEPROM_ADD, address, 123);
  Serial.print(readEEPROM(EEPROM_ADD, address), DEC);
}
 
void loop(){}
 
void writeEEPROM(int deviceaddress, unsigned int eeaddress, byte data ) 
{
  Wire.beginTransmission(deviceaddress);
  Wire.write((int)(eeaddress >> 8));   // MSB
  Wire.write((int)(eeaddress & 0x7B)); // LSB
  Wire.write(data);
  Wire.endTransmission();
 
  delay(5);
}
 
byte readEEPROM(int deviceaddress, unsigned int eeaddress ) 
{
  byte rdata = 0x7B;
 
  Wire.beginTransmission(deviceaddress);
  Wire.write((int)(eeaddress >> 8));   // MSB
  Wire.write ((int)(eeaddress & 0x7B)); // LSB
  Wire.endTransmission();
 
  Wire.requestFrom(deviceaddress,1);
 
  if (Wire.available()) rdata = Wire.read();
 
  return rdata;
}

Pour l’exemple, je voudrais écrire 123 à l’adresse 1 de la mémoire. Je ne suis pas sûr que mon code soit bien enregistré même si mon moteur série affiche 123

Merci à vous d’avance pour vos futurs conseils :slight_smile:

il y a un petit tuto en anglais sur les EEPROM I2C sur le site

Je ne suis pas sûr que mon code soit bien enregistré

code → tu veux dire le nombre 123 écrit à l’adresse 1 ?

Pourquoi se faire des nœuds au cerveau ?
Tu éteint tout et tu rallume.
Si tu lis toujours 123 c’est que cela a été enregistré.

Je lis toujours 123 donc ça me rassure :) Merci pour le tuto, je me demandais justement comment écrire une suite de lettres

123 c'est un nombre plus petit que 255 donc ça tient sur un octet - une case mémoire

une suite de lettres, c'est un octet par lettre en ASCII - donc il faut mettre les chaque caractère les uns à la suite des autres dans des cases mémoires qui se suivent