Indholdsfortegnelse:

Arduino EEPROM -indstillinger Initialisering: 5 trin
Arduino EEPROM -indstillinger Initialisering: 5 trin

Video: Arduino EEPROM -indstillinger Initialisering: 5 trin

Video: Arduino EEPROM -indstillinger Initialisering: 5 trin
Video: Using EEPROM with Arduino - Internal & External 2024, Juli
Anonim
Image
Image
Hvad er en EEPROM?
Hvad er en EEPROM?

Hej allesammen, Hver Arduino har en lille indbygget hukommelse kaldet EEPROM. Du kan bruge dette til at gemme indstillinger for dit projekt, hvor de valgte værdier bevares mellem strømcyklusser, og de vil være der næste gang du tænder for Arduino. Jeg har et fedt trick, der vil lære dig, hvordan du kan starte et sæt standardværdier på dit første løb, så hold dig til for at finde ud af hvordan.

Trin 1: Hvad er en EEPROM?

Hvad er en EEPROM?
Hvad er en EEPROM?

En EEPROM er en lille hukommelseslagring, hvis værdier bevares, selvom Arduino -kortet er slukket. Dette fungerer som en lille harddisk, så du kan gemme dine parametre til næste gang du tænder enheden. Afhængigt af typen af Arduino -kort vil du have en forskellig mængde lagerplads til rådighed på hver, så for eksempel Uno har 1024 bytes, Mega har 4096 bytes og LilyPad har 512 bytes.

Det er vigtigt at bemærke, at alle EEPROM'er har et begrænset antal skrivecyklusser. Atmel angiver en forventet levetid på omkring 100 000 skrive/slette cykler for EEPROM på Arduino. Dette lyder måske som mange skriv, men det kan være let at nå denne grænse, hvis du læser og skriver i en loop. Når et sted er blevet skrevet og slettet for mange gange, kan det begynde at blive upålideligt. Det returnerer muligvis ikke de korrekte data eller returnerer værdien fra en nabobit.

Trin 2: Importer biblioteket

Importer biblioteket
Importer biblioteket
Importer biblioteket
Importer biblioteket
Importer biblioteket
Importer biblioteket

For at bruge denne hukommelse inkluderer vi først det medfølgende bibliotek af Arduino. Biblioteket har to metoder: læs og skriv for de pågældende handlinger. Læsefunktionen accepterer den adresse, vi vil læse fra, mens skrivefunktionen accepterer både adressen og den værdi, vi vil skrive.

I vores eksempel er målet at have en række indstillinger klar ved hver start af Arduino, så vi starter med at definere den matrix, vi vil bruge til opbevaring og definere adresserne for hver af de indstillinger, vi vil gemme. I en chip, hvor vi har 1024 bytes til rådighed, vil adresseplaceringerne være fra 0 til 1023.

Trin 3: Indstil initialiseringsflaget

Indstil initialiseringsflag
Indstil initialiseringsflag

Tricket til den indledende indstilling af standardværdier for indstillingerne er at bruge en af adresserne som en indikator, om indstillingerne er blevet initialiseret eller ej. Jeg har brugt den sidste adresseplacering til dette, da det ofte ikke bruges til noget andet. LoadSettings -funktionen vil først kontrollere denne placering, hvis den værdi, der er gemt der, er et "T" -tegn, og hvis ikke, vil den gå til indstilling ved at indstille, skrive de oprindelige værdier for hver af dem. Når det er gjort, vil det nu indstille værdien af det sted, hvor vi holder styr på initialiserede indstillinger til "T" -tegnet, og næste gang, når vi tænder for Arduino, vil vi ikke længere starte værdierne, men i stedet læse de gemte data ind vores array.

Trin 4: Opdatering af indstillinger

Opdatering af indstillinger
Opdatering af indstillinger

Til opdatering af værdierne kan vi enten bruge skrivefunktionen, som vi havde den ved initialiseringen, men en bedre måde er at bruge den medfølgende opdateringsfunktion. Hvad denne funktion gør, er, at den først kontrollerer, om den værdi, vi forsøger at gemme, er den samme, der allerede er i EEPROM, og hvis den er det, opdateres den ikke. Ved at gøre det forsøger det at minimere antallet af skriveoperationer for at forlænge levetiden for EEPROM.

Trin 5: God fornøjelse

God fornøjelse!
God fornøjelse!
God fornøjelse!
God fornøjelse!

Jeg håber, at denne instruks var nyttig for dig, og at du formåede at lære noget. Kildekoden er tilgængelig på min GitHub -side, og linket er herunder. Hvis du har forslag, så lad dem stå i kommentarerne, og glem ikke at abonnere på min YouTube -kanal for flere lignende videoer.

Anbefalede: