2 questions sur la librarie EEPROM

Bonjour,

1ere question :

ici http://arduino.cc/en/Reference/EEPROMWrite
on peut lire :
"The datasheet also specifies that a write cycle takes 3.3 ms to complete. Other EEPROM write and read requests will fail if executed in this time period. This delay appears to be built into the EEPROM library as a casual test shows each cycle taking 3.33 ms to execute.

Hence, you do not specifically need to add a delay to an EEPROM write, just be aware of the built-in time delay. "

Ce qui d'après ce que je comprends veut dire : un cycle decriture ou de lecture prend 3.3ms, une autre tentative durant ce laps echouera MAIS pas la peine de mettre un delay, c'est deja inclut dans la librairie

Vous le comprenez aussi comme ca ?

2eme question

dans la page, lexemple donné est le suivant :

#include <EEPROM.h>

void setup()
{
for (int i = 0; i < 512; i++)
EEPROM.write(i, i);
}

void loop()
{
}

or il es dit dans cette même page que :

value: the value to write, from 0 to 255 (byte)

donc on peut écrire 255 max, cest ca non ? donc comment dans lexample ils arrivent a ecrire jusqua 512 ????

Merci !

oui

non

511 = 255

511 = 255 ?

je comprends pas

quand tu utilises une valeur qui dépasse la capacité de la variable (ici, 1 octet), tu redémarres à la valeur la plus basse.

256 = 0, 257 = 1, 258 = 2, ...

donc il n'est pas interdit d'utiliser une valeur plus grande, mais il faut savoir à quoi ça correspond.

Ok, merci !

Mais du coup pourquoi dans l'exemple ils mettent :
for (int i = 0; i < 512; i++)

pourquoi ils ne mettent pas :
for (int i = 0; i < 255; i++)

parce que la ca réécrit deux fois, non ? c'est quoi l'interêt ?

Merci !

La donnée est limitée à l'espace 0-255 pas l'adresse

Parameters

address: the location to write to, from 0 to 511 (int)

value: the value to write, from 0 to 255 (byte)

(Extrait de la page de référence)

ah ok, cest bon merci jai pigé ! ;D