title: Can an I2C Eeprom have two addresses?
body: <p>I own an <a href="https://robotdyn.com/eeprom-data-module-at24c256.html" rel="nofollow noreferrer">EEPROM module</a> with the <a href="http://www.puyasemi.com/uploadfiles/2018/08/201808062051475147.pdf" rel="nofollow noreferrer">P24C256</a> chip. (not AT24C256).</p>
  
  <p>After scanning for available I2C devices, i got response from two devices.</p>
  
  <pre><code>Scanning...
  I2C device found at address 0x50  !
  I2C device found at address 0x58  !
  done
  </code></pre>
  
  <p>I looked up the datasheet, but cannot find any additional information.
  I thought that the device, has two banks for storage, but that does not seem to be the case.</p>
  
  <p>How is this possible? After disconnecting the module, no I2C devices are reported.</p>
  
  <pre><code>#include &lt;Wire.h&gt;
  
  
  void setup()
  {
    Wire.begin();
  
    Serial.begin(9600);
    while (!Serial);             // Leonardo: wait for serial monitor
    Serial.println("\nI2C Scanner");
  }
  
  
  void loop()
  {
    byte error, address;
    int nDevices;
  
    Serial.println("Scanning...");
  
    nDevices = 0;
    for(address = 1; address &lt; 127; address++ ) 
    {
      // The i2c_scanner uses the return value of
      // the Write.endTransmisstion to see if
      // a device did acknowledge to the address.
      Wire.beginTransmission(address);
      error = Wire.endTransmission();
  
      if (error == 0)
      {
        Serial.print("I2C device found at address 0x");
        if (address&lt;16) 
          Serial.print("0");
        Serial.print(address,HEX);
        Serial.println("  !");
  
        nDevices++;
      }
      else if (error==4) 
      {
        Serial.print("Unknown error at address 0x");
        if (address&lt;16) 
          Serial.print("0");
        Serial.println(address,HEX);
      }    
    }
    if (nDevices == 0)
      Serial.println("No I2C devices found\n");
    else
      Serial.println("done\n");
  
    delay(5000);           // wait 5 seconds for next scan
  }
  </code></pre>