Arduino & IoT Academy · Lektion

Gem en værdi i EEPROM

Skriv og læs indstillinger, der bevares uden strøm.

Lektion 3 af 413 trin

Gem en værdi i EEPROM er en gratis Arduino & IoT Academy-lektion på CoddyKit. Dette er lektion 3 af 4. Du kan læse hele lektionen gratis nedenfor — og derefter øve dig praktisk i browseren med en indbygget kodeeditor og en AI-vejleder, der er tilgængelig døgnet rundt. Den er en del af læringsforløbet i Arduino & IoT Academy, og dine fremskridt synkroniseres på tværs af nettet og CoddyKit-appen. Arduino & IoT Academy-kurset indeholder 4 lektioner i alt.

Hukommelse, der glemmer

Normale variabler ligger i RAM, som tømmes i samme øjeblik, strømmen forsvinder. Hvis en indstilling skal bevares, har du brug for hukommelse, der husker.

Mød EEPROM

EEPROM er en lille lagerblok indbygget i chippen, som bevarer data ved strømtab. Tænk på den som en lille notesblok, hvor det skrevne bliver stående.

Hvor meget plads?

En Arduino Uno giver dig omkring 1024 bytes EEPROM. Pladsen er begrænset, så gem indstillinger og tællere, ikke store logfiler.

Adresser, ikke navne

EEPROM er organiseret i nummererede pladser, der kaldes adresser, og som starter ved 0. Du vælger, hvilken adresse der skal indeholde hver værdi.

Medtag biblioteket

For at bruge det skal du medtage det indbyggede EEPROM-bibliotek øverst i din skitse. Du behøver ikke downloade noget; det følger med IDE’en.

#include <EEPROM.h>

Skriv en byte

EEPROM.write gemmer én byte på en adresse. Her gemmer vi tallet 42 på plads 0.

EEPROM.write(0, 42);

Læs den tilbage

EEPROM.read henter den byte, du gemte. Læs plads 0, så får du værdien tilbage, selv efter en nulstilling.

byte value = EEPROM.read(0);

Én byte indeholder 0 til 255

En enkelt byte gemmer værdier fra 0 til 255. Hvis du vil gemme et større tal, deler du det op på flere adresser.

Gem større værdier nemt

Til ints, floats eller structs skal du bruge EEPROM.put og EEPROM.get. De håndterer automatisk opdelingen i bytes for dig.

int score = 1500;
EEPROM.put(0, score);

Skrivninger slider hukommelsen

EEPROM tåler omkring 100.000 skrivninger pr. celle. Skriv ikke i hvert gennemløb, ellers slider du den hurtigt op.

Skriv kun ved ændringer

Brug EEPROM.update i stedet for write. Den springer skrivningen over, når værdien er uændret, så hukommelsen skånes.

EEPROM.update(0, 42);

Hurtigt tjek

Lad os se på, hvorfor vi overhovedet bruger EEPROM.

Opsummering: Vedvarende lagring

Du så EEPROM som ikke-flygtig hukommelse, skrev og læste bytes efter adresse og lærte at begrænse antallet af skrivninger. Dine indstillinger kan nu bevares! 💾

Gratis at komme i gang

Lær C++ med en AI-underviser — gratis

Skriv og kør rigtig kode i din browser, få øjeblikkelig hjælp fra en AI-underviser døgnet rundt, og fortsæt, hvor du slap, på web eller i appen.

Kurser
30
Lektioner
120

Ofte stillede spørgsmål

Er lektionen “Gem en værdi i EEPROM” gratis?

Ja — hele teksten til “Gem en værdi i EEPROM” kan læses gratis her på nettet. Hvis du vil øve dig interaktivt med en indbygget kodeeditor og en AI-vejleder døgnet rundt og få adgang til resten af Arduino & IoT Academy-kurset, skal du opgradere til CoddyKit PRO. Arduino & IoT Academy-kurset indeholder 4 lektioner i alt.

Hvad lærer jeg i “Gem en værdi i EEPROM”?

Skriv og læs indstillinger, der bevares uden strøm. Du øver dig i Arduino & IoT Academy med praktisk kode, som du kører direkte i browseren, og en AI-vejleder døgnet rundt besvarer dine spørgsmål, mens du arbejder dig gennem lektionen.

Skal jeg have erfaring for at begynde på Arduino & IoT Academy?

Der kræves ingen tidligere erfaring. Arduino & IoT Academy på CoddyKit er tilrettelagt for både begyndere og øvede, så du kan starte her eller fra begyndelsen og lære i dit eget tempo. Dette er lektion 3 af 4.

Hvor lang tid tager lektionen “Gem en værdi i EEPROM”?

De fleste CoddyKit-lektioner tager cirka 5–10 minutter. Hver lektion er kort og interaktiv, så du gør løbende fremskridt og kan fortsætte, hvor du slap – på både web og app.

Kan jeg skrive og køre kode i denne Arduino & IoT Academy-lektion?

Ja. Alle Arduino & IoT Academy-lektioner har en indbygget kodeeditor, så du kan skrive og køre rigtig kode direkte i din browser og få øjeblikkelig feedback fra AI – uden lokal opsætning.

Alle lektioner i dette kursus

  1. Hvorfor knapper »bouncer«
  2. Fjern kontaktprel med millis()
  3. Gem en værdi i EEPROM
  4. Husk en tæller efter nulstilling
← Tilbage til Arduino & IoT Academy