Étape 8: Code utile - lecture des chaînes de l’EEPROM série
Avec les bibliothèques standard de l’Arduino, vous pouvez seulement écrire et lire des octets vers et à partir de l’EEPROM. Alors, comment gérez-vous les chaînes ? N’oubliez pas, en C/C++ (et autres langues), qu'une chaîne est un nombre de caractères terminée par « \0 ». Donc, juste écrire vos personnages sous forme d’octets dans l’EEPROM et se terminer par un « \0 ». Vous pouvez garder cela jusqu'à ce que vous vous ennuyez ou presque hors de l’espace de l’EEPROM. Je me réserve les deux dernières adresses, donc je peux toujours virer sur un « \0 » et un ctrl-d, dont je me sers pour marquer la fin du texte.J’ai décidé de casser vers le haut de l’entrée dans les chaînes de 200 caractères, quel que soit l’entrée d’utilisateur. Ceci est fait parce que je ne savais pas ce que j’allais faire avec les cordes, alors je leur tampon dans un tableau de 200 caractères lors de leur lecture.
Pour lire un caractère dans l’EEPROM dans le tableau, j’ai lu un personnage du tableau à la position X et X + 1, à regarder l’adresse 0. Si X + 1 n’est pas un « \0 » ou un ctrl-d, je stocke les caractères X dans le tableau. J’utilise des opérations arithmétiques de pointeur pour se déplacer le long de la baie et le déréférencement du pointeur pour stocker et extraire des données.
Si vous vouliez, vous pourriez Rechercher l’espace d’adressage EEPROM pour X nombre de "\0"s et peut-être que des messages aléatoires ou laissez l’utilisateur choisir une. Je viens de lire le début de tout cela à la fin. La seule chose que j’ai utiliser la fonctionnalité de chaîne pour est « wear-leveling » sur le mécanisme d’entraînement - les cordes alternent défilement haut et bas de lignes de l’écran.