Re, c'est FAIT !
Ca fonctionne !
J'avais divers pbs dans mon code, c'est résolu. Du coup j'ai revu mes fonctions de lecture/écriture dans l'eeprom et j'ai trouvé pourquoi auparavant mes fonctions refusaient de fonctionner avaec une adresse en int*. J'écrirai là-dessus ensuite...
Bon, le système est scindé en deux programmes : prog_jours2 et test_jours2.
Le premier, prog_jours2, inscrit les jours dans l'EEprom.
Le second, test_jours2, affiche sur la liason série (j'utilise HyperTerminal) le contenu de l'EEprom pour vérifier.
Le format de stockage dans l'EEprom est le suivant :
- premier octet, le nombre de chaînes stockées ;
- les n (nombre de chaînes stockées) mots suivants, les index de début des chaînes (ce que j'appelle la SAT, String Allocation Table) ;
- les octets suivants sont les caratères des chaînes de caractères avec un 0 délimiteur en fin de chacune.
Suite à différents essais, ... j'ai changé le système de description des chaînes. Il n'y a plus de tableau pour les "nombres", mais une chaîne de caratères. Plus simple à modifier vérifier, coder, ... Et cette chaîne de caractères est "compressée" pour éviter les redites. Le système est le suivant '/' pour une fin de chaîne, '1' pour 'un', 2 pour 'deux', ... 'D' pour 'dix', ... regardez le code, c'est compréhensible, je pense.
Le programme met un certain temps à programmer l'EEprom. Installez si vous le pouvez une LED sur la broche 13, elle s'allumera à la fin de la programmation de l'eeprom. Sans LED, attendre 30s.
Pas de place pour les programmes en direct dans le message donc :
- programme de programmation de l'EEprom :
http://perso.wanadoo.fr/rousseau-benoit/codes/arduino/prog_jours2.txt,
- programme de lecture de l'EEprom :
http://perso.wanadoo.fr/rousseau-benoit/codes/arduino/test_jours2.txt.
Dites-moi si ca fonctionne chez vous.
a+.