Stap 8: Nuttige Code - Strings lezen vanaf de seriële EEPROM
Met de standaard bibliotheken voor de Arduino, kun je alleen schrijven en lezen van bytes en naar de EEPROM. Dus hoe ga je om met tekenreeksen? Vergeet niet, in C/C++ (en andere talen) een reeks een aantal tekens beëindigd door "\0 is". Dus, net schrijf uw karakters als bytes aan de EEPROM en beëindigen met een "\0". Kun je dit omhoog totdat je je verveelt of bijna uit EEPROM ruimte. Dus ik kan altijd op een "\0" en een ctrl-d, die ik gebruik om te markeren het einde van de tekst tack, behoud ik mij de laatste twee adressen.Ik besloot om het breken van de inbreng in de 200-reeks lettertekens, ongeacht de input van de gebruiker. Dit is gedaan omdat ik in eerste instantie niet zeker wat ik ging doen met de snaren was, zodat ik ze in een 200 karakter array buffer bij het lezen van hen.
Om te lezen een teken uit de EEPROM in de array, lees ik een karakter uit de matrix op positie X en X + 1, staren op adres 0. Als X + 1 niet een "\0" of een ctrl-d is, opslaan ik teken X in de matrix. Ik gebruik rekenkunde van de aanwijzer te verplaatsen langs de array en dereferentie de aanwijzer voor het opslaan en ophalen van gegevens.
Als je wilde, kon u de EEPROM adresruimte voor X aantal zoeken "\0"s en misschien hebben willekeurige berichten of de gebruiker laten kiezen een. Ik lees net het hele ding start tot finish. Het enige wat dat ik gebruik van de functionaliteit van de tekenreeks voor is "slijtage-herverdeling is" op de VFD - de snaren alternatieve schuiven langs de bovenkant en onderkant rijen van het scherm.