Spara ett nummer till EEPROM på Arduino UNO

C, C++, Pascal, Assembly, Raspberry, Java, Matlab, Python, BASIC, SQL, PHP, etc.
Användarvisningsbild
fosfor
Inlägg: 453
Blev medlem: 13 februari 2013, 05:43:15
Kontakt:

Spara ett nummer till EEPROM på Arduino UNO

Inlägg av fosfor »

Hej!

Jag vill kunna spara ett enda nummer till minnet. Med en knapptryckning.
Sedan kunna hämta detta nummer från EEPROM minnet, med en annan knapptryckning.
Men alla guider jag hittar handlar oftast om hur jag ska spara många nummer/positioner till minnet.
Någon som vet hur man gör eller kan peka mig i rätt riktning?

Mvh A
Användarvisningsbild
hawkan
Inlägg: 2586
Blev medlem: 14 augusti 2011, 10:27:40

Re: Spara ett nummer till EEPROM på Arduino UNO

Inlägg av hawkan »

EEPROM.write(0,55);

borde skriva in byten "55" i position 0.
Det som krånglar till det är att EEPROM.write bara skriver bytes.
Vill du skriva en "int" så behövs flera write-ar för att skriva och flera read-ar
för att pussla ihop värdet igen.
Användarvisningsbild
fosfor
Inlägg: 453
Blev medlem: 13 februari 2013, 05:43:15
Kontakt:

Re: Spara ett nummer till EEPROM på Arduino UNO

Inlägg av fosfor »

Oj, hmm..
Grejen är att jag har en pulsecount, alltså en motor med sensorer, där pulserna räknas och visas på en display som ett nummer.
Kan vara t.ex. 522 eller nåt sånt. Det är detta nummer jag vill spara.
Mej jag vet inte om det räknas som en Int direkt? Ser inte så ut i koden.
(Observera att jag är långt ifrån en Arduino expert, kan ses som nybörjare).
Är det EEPROM put eller nåt sånt som kanske är bättre?

Hur kan jag lösa mitt problem på smidigast vis?
Användarvisningsbild
hawkan
Inlägg: 2586
Blev medlem: 14 augusti 2011, 10:27:40

Re: Spara ett nummer till EEPROM på Arduino UNO

Inlägg av hawkan »

Ja EEPROM.put(0,variabel) border fungera.

Kod: Markera allt

int a=522;
int b;
EEPROM.put(0,a);
EEPROM.get(0,b);
Livslängden på en eeprom-position är nåt 100.000-tal skrivningar bara så du vet.
Användarvisningsbild
fosfor
Inlägg: 453
Blev medlem: 13 februari 2013, 05:43:15
Kontakt:

Re: Spara ett nummer till EEPROM på Arduino UNO

Inlägg av fosfor »

Ok, tack!
Jag ska spara detta nummer kanske en gång i veckan eller ennu mer sällan. Likaså använda sig utav det (läsa numret).
Så utslitet minne borde inte vara någon fara alls.

Vad innebär 'int a=522?'
och int b?

Samt, varför skriver man (0,a) och (0,b)?
Är det startnummer?
Användarvisningsbild
sodjan
EF Sponsor
Inlägg: 43150
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping
Kontakt:

Re: Spara ett nummer till EEPROM på Arduino UNO

Inlägg av sodjan »

> Samt, varför skriver man.........

Så svårt är det väl inte att hitta (googla t.ex. "arduino EEPROM.put"):

https://www.arduino.cc/en/Reference/EEPROMPut
Användarvisningsbild
papabear
Inlägg: 821
Blev medlem: 14 mars 2004, 03:27:12
Ort: Eskilstuna
Kontakt:

Re: Spara ett nummer till EEPROM på Arduino UNO

Inlägg av papabear »

int a och b är två heltalsvariabler, där a initieras med värdet 522.

.put(0,a) skriver värdet för a till adress 0.
och .get(0,b) läser ut värdet till variabel b.
Användarvisningsbild
fosfor
Inlägg: 453
Blev medlem: 13 februari 2013, 05:43:15
Kontakt:

Re: Spara ett nummer till EEPROM på Arduino UNO

Inlägg av fosfor »

Sodjan:

Sorry, men jag är verkligen total nybörjare på detta.
Jag var inne tidigare och läste just på länken du skriver men det blir lite överväldigande till och från.
Användarvisningsbild
fosfor
Inlägg: 453
Blev medlem: 13 februari 2013, 05:43:15
Kontakt:

Re: Spara ett nummer till EEPROM på Arduino UNO

Inlägg av fosfor »

papabear skrev:int a och b är två heltalsvariabler, där a initieras med värdet 522.

.put(0,a) skriver värdet för a till adress 0.
och .get(0,b) läser ut värdet till variabel b.

TACK! Ok!
Användarvisningsbild
ffredrik
Inlägg: 340
Blev medlem: 20 oktober 2009, 17:52:18
Ort: Göinge

Re: Spara ett nummer till EEPROM på Arduino UNO

Inlägg av ffredrik »

Jag kan enbart rekommendera en grundkurs i programmering, förslagsvis C.
Användarvisningsbild
fosfor
Inlägg: 453
Blev medlem: 13 februari 2013, 05:43:15
Kontakt:

Re: Spara ett nummer till EEPROM på Arduino UNO

Inlägg av fosfor »

Det lär ju se ut nåt i stil med detta? :humm:

Kod: Markera allt

 
else {
  val = digitalRead(intest3Pin);         // KNAPP 3 - Som trycks när det ska sparas i minnet
  if (val == HIGH) {                     // Checkar om knappen trycks

Här ska något läsa     "PulseCount"
Här ska något skriva  "Write PulseCount" numret till minnet
}

????????????????
Användarvisningsbild
fosfor
Inlägg: 453
Blev medlem: 13 februari 2013, 05:43:15
Kontakt:

Re: Spara ett nummer till EEPROM på Arduino UNO

Inlägg av fosfor »

Kanske nåt i denna stil?

Kod: Markera allt

// MEMORYTEST FOR SAVING EEPROM -=-=-=-=-=-=-=-=-=-=-=-=-
else {
  val = digitalRead(intest3Pin);         // Button 3 - Shall save in memory
  if (val == HIGH) {                     // Checks if button is pressed

EEPROM.write(PulseCount);                // Writes PulseCount number to memory
    lcd.setCursor(0, 1);                 // These 2 lines writes to LCD
    lcd.print("Pos SAVED!");
  }     
}
Användarvisningsbild
papabear
Inlägg: 821
Blev medlem: 14 mars 2004, 03:27:12
Ort: Eskilstuna
Kontakt:

Re: Spara ett nummer till EEPROM på Arduino UNO

Inlägg av papabear »

Jag har aldrig använt de här sakerna, men oavsett write eller put så säger dokumentationen att du ska ha (adress,data).
Så du behöver EEPROM.write(0,PulseCount); om du nu vill skriva till adress 0, men det spelar väl ingen roll för dig var i minnet du lägger det.
Användarvisningsbild
fosfor
Inlägg: 453
Blev medlem: 13 februari 2013, 05:43:15
Kontakt:

Re: Spara ett nummer till EEPROM på Arduino UNO

Inlägg av fosfor »

Ok!

Men vart skriver jag (adress,data)?
Eller syftar detta på 0,PulseCount?
Användarvisningsbild
papabear
Inlägg: 821
Blev medlem: 14 mars 2004, 03:27:12
Ort: Eskilstuna
Kontakt:

Re: Spara ett nummer till EEPROM på Arduino UNO

Inlägg av papabear »

Just så.
Skriv svar