start:arduino:eeprom
Différences
Ci-dessous, les différences entre deux révisions de la page.
Prochaine révision | Révision précédente | ||
start:arduino:eeprom [2020/12/15 11:41] – créée gerardadmin | start:arduino:eeprom [2023/01/27 16:08] (Version actuelle) – modification externe 127.0.0.1 | ||
---|---|---|---|
Ligne 3: | Ligne 3: | ||
===== Utiliser la mémoire EEPROM interne de l' | ===== Utiliser la mémoire EEPROM interne de l' | ||
+ | |||
+ | [[https:// | ||
+ | |||
+ | [[https:// | ||
+ | |||
+ | https:// | ||
+ | |||
+ | [[http:// | ||
Les cartes Arduino disposent d'une mémoire EEPROM (" | Les cartes Arduino disposent d'une mémoire EEPROM (" | ||
Ligne 57: | Ligne 65: | ||
La méthode EEPROM.update() est donc identique à la méthode EEPROM.write(), | La méthode EEPROM.update() est donc identique à la méthode EEPROM.write(), | ||
- | EEPROM.update(adresse, | + | |
Par exemple, l' | Par exemple, l' | ||
Ligne 63: | Ligne 71: | ||
Personnellement, | Personnellement, | ||
- | Écrire une variable de n' | + | Écrire une variable de n' |
+ | |||
+ | | ||
Les 3 méthodes que nous avons explorées jusqu' | Les 3 méthodes que nous avons explorées jusqu' | ||
Ligne 75: | Ligne 85: | ||
La syntaxe est similaire à celle d' | La syntaxe est similaire à celle d' | ||
- | EEPROM.put(adresse, | + | |
Dans l' | Dans l' | ||
- | Lire une variable de n' | + | Lire une variable de n' |
Le complément de la méthode EEPROM.put() est EEPROM.get(), | Le complément de la méthode EEPROM.put() est EEPROM.get(), | ||
Ligne 85: | Ligne 95: | ||
La syntaxe est: | La syntaxe est: | ||
- | EEPROM.get(adresse, | + | |
Par exemple, dans le sketch ci-dessous, je récupère la valeur de la variable de type " | Par exemple, dans le sketch ci-dessous, je récupère la valeur de la variable de type " | ||
Ligne 110: | Ligne 120: | ||
Utiliser l' | Utiliser l' | ||
- | Un objet EEPROM[] vous permet d' | + | Un objet EEPROM[] vous permet d' |
+ | |||
+ | Ainsi, l' | ||
+ | |||
+ | et l' | ||
+ | |||
+ | Connaître la taille de l' | ||
+ | |||
+ | EEPROM.length() | ||
+ | |||
+ | Tel que précisé un peu plus haut, la taille de la mémoire EEPROM n'est pas la même pour tous les modèles d' | ||
+ | |||
+ | === Exemple de programme de test === | ||
+ | |||
+ | <code c EEPROM_Structure.ino> | ||
+ | // | ||
+ | typedef struct | ||
+ | char a[32]; | ||
+ | int b; | ||
+ | float c; | ||
+ | String d; | ||
+ | bool e; | ||
+ | } sensor; | ||
+ | |||
+ | char g[20] = " "; | ||
+ | |||
+ | void setup() { | ||
+ | Serial.begin(115200); | ||
+ | |||
+ | sensor mySensor; | ||
+ | |||
+ | char g[] = " | ||
+ | |||
+ | /* | ||
+ | for (int i=0; i <7 ;i++){ | ||
+ | mySensor.a[i] | ||
+ | } | ||
+ | */ | ||
+ | strcpy(mySensor.a, | ||
+ | mySensor.b = 255; | ||
+ | mySensor.c= 20.4; | ||
+ | mySensor.d = "autre nom"; | ||
+ | mySensor.e = 1; | ||
+ | |||
+ | Serial.println(sizeof(g)); | ||
+ | Serial.println(" | ||
+ | Serial.println(sizeof(mySensor.a)); | ||
+ | Serial.println(" | ||
+ | for (int j = 0 ; j < sizeof(g) ; j++ ) { | ||
+ | | ||
+ | } | ||
+ | Serial.println(" | ||
+ | Serial.println(mySensor.b); | ||
+ | Serial.println(mySensor.c); | ||
+ | Serial.println(mySensor.d); | ||
+ | Serial.println(mySensor.e); | ||
+ | |||
+ | } | ||
+ | |||
+ | void loop() {} | ||
+ | |||
+ | </ | ||
+ | |||
+ | |||
+ | <code c Tableau_pointeur.ino > | ||
+ | #include < | ||
+ | |||
+ | int main(void) { | ||
+ | |||
+ | // Pointeur sur tableau de char | ||
+ | char * ptr = " | ||
+ | printf(" | ||
+ | |||
+ | // Tableau de char | ||
+ | char array[] = " | ||
+ | printf(" | ||
+ | return 0; | ||
+ | |||
+ | </ | ||
+ | |||
+ | |||
+ | |||
+ | [[http:// | ||
+ | ====== Autres liens web ====== | ||
+ | |||
+ | [[https:// | ||
- | Connaître la taille de l' | + | [[https:// |
- | Tel que précisé un peu plus haut, la taille de la mémoire EEPROM n'est pas la même pour tous les modèles d' | + | [[https:// |
/home/chanteri/www/fablab37110/data/attic/start/arduino/eeprom.1608028876.txt.gz · Dernière modification : 2023/01/27 16:08 (modification externe)