Ett trådlöst kontrollerade, Arduino-Powered anslagstavla (8 / 15 steg)
Steg 8: Användbar kod - läsa strängar från Serial EEPROM
Med standard Arduino bibliotek, kan du bara skriva och läsa byte till och från EEPROM. Så hur hanterar man strängar? Kom ihåg att i C/C++ (och andra språk) en sträng är ett antal tecken avslutas med "\0". Så bara Skriv tecknen som byte till EEPROM och avsluta med en "\0". Du kan hålla upp tills du är uttråkad eller nästan EEPROM tar slut. Jag förbehåller de sista två adresserna så jag kan alltid please på en "\0" och en ctrl-d, som jag använder för att markera slutet på texten.Jag bestämde mig att bryta upp ingången till 200-teckensträngar, oavsett den förbrukaren insatsen. Detta görs eftersom jag var från början inte säker på vad jag skulle göra med strängarna, så jag buffert dem i en 200 tecken utbud när man läser dem.
För att läsa en karaktär från EEPROM i vektorn, läste jag en karaktär från array position X och X + 1, stirrade på adress 0. Om X + 1 inte är en "\0" eller en ctrl-d, lagra jag tecknet X i matrisen. Jag använder pekare aritmetik att flytta längs matrisen och dereference pekaren för att lagra och hämta data.
Om du ville, du kan söka det EEPROM adressutrymmet för X antal "\0"s och kanske har slumpmässiga meddelanden eller låta användaren välja en. Jag läste hela start till slut. Det enda jag använder funktionen sträng för är "slitage-utjämning" på VFD - strängarna alternerar rulla längs övre och nedre rader i displayen.