Arduino multiples EEPROM

Bonsoir à tous,

Pour augmenter la capacité mémoire, je souhaiterai assembler des EEPROM en série.

Le tuto vidéo suivant Youtube explique le montage et le codage.

Le code doit écrire une valeur à la première adresse de chaque mémoire (110 sur la première, 111 sur la seconde, 112 sur la troisième).

Malheureusement, l’écriture ne fonctionne pas : les valeurs lues sont toujours à 255.

D’où vient donc mon erreur ?

Merci

#include <EEPROM.h>
#include <Wire.h>
#define EEPROM_I2C_ADDRESS0 0x50
#define EEPROM_I2C_ADDRESS1 0x51
#define EEPROM_I2C_ADDRESS2 0x52
#define EEPROM_I2C_ADDRESS3 0x53

void writeAddress(byte i2cAddress, int address, byte val)
{
  Wire.beginTransmission(i2cAddress);
  Wire.write((int)(address >> 8));
  Wire.write((int)(address & 0xFF));

  Wire.write(val);
  Wire.endTransmission();
  delay(5);
}

byte readAddress(byte i2cAddress,int address)
{
  byte rData = 0xFF;

  Wire.beginTransmission((int)(address >> 8));
  Wire.beginTransmission((int)(address & 0xFF));
  Wire.endTransmission();
  rData = Wire.read();
  return rData;
}
void setup() {
  Wire.begin();
  Serial.begin(9600);
  
  int address = 0;
  byte val0 = 110;
  byte val1 = 111;
  byte val2 = 112;
  byte val3 = 113;
  byte readVal=0;
  
  writeAddress(EEPROM_I2C_ADDRESS0,address,val0);
  readVal = readAddress(EEPROM_I2C_ADDRESS0,address);
  Serial.print("Lu : ");
  Serial.println(readVal);
  
  writeAddress(EEPROM_I2C_ADDRESS1,address,val1);
  readVal = readAddress(EEPROM_I2C_ADDRESS1,address);
  Serial.print("Lu : ");
  Serial.println(readVal);
  
  writeAddress(EEPROM_I2C_ADDRESS2,address,val2);
  readVal = readAddress(EEPROM_I2C_ADDRESS2,address);
  Serial.print("Lu : ");
  Serial.println(readVal);
  
}

void loop() {
}

manque au moins le requestfrom avant le read

Merci bricoleau. Je vais regarder cela.