Skriva till eeprom i PIC

PIC, AVR, Arduino, Raspberry Pi, Basic Stamp, PLC mm.
Användarvisningsbild
newbadboy
Inlägg: 2485
Blev medlem: 16 september 2006, 19:16:28
Ort: Landskrona
Kontakt:

Skriva till eeprom i PIC

Inlägg av newbadboy »

Ska göra ett litet enkelt program i Mikroc. Dock behöver jag sätta en variabel till 1,2 eller 3 mha av en knapp. För varje tryckning lägger jag bara på ett, inga problem.

Kruxet är bara att när jag fimpar spänningen til Pic processorn skall värdet på variabeln vara sparad. Tex om jag satt den till två så ska den vara två direkt jag sätter till matning.

Hur gör man sådant. Har ingen aning :(.. Är det med pekare eller ngt annat hokus pokus?
Senast redigerad av newbadboy 19 november 2015, 10:04:02, redigerad totalt 1 gång.
H.O
Inlägg: 5917
Blev medlem: 19 mars 2007, 10:11:27
Ort: Ronneby

Re: Hur gå vidare?

Inlägg av H.O »

Nej, du måste spara värdet i nått minne (flash eller EEPROM t.ex) som behåller informationen även när spänningen försvinner. Hur ofta ändras variabeln?
Zkronk
Inlägg: 1439
Blev medlem: 23 augusti 2005, 16:44:36
Ort: Uppsala

Re: Hur gå vidare?

Inlägg av Zkronk »

Antingen spara ned värdet vid varje ändring, eller detektera när enheten ska stängas av och spara först då.

Ett EEPROM-minne har nämligen bara ett begränsat antal skrivningar innan det blir dåligt, så det förstnämnda alternativet är inte så lämpligt om det innebär rätt många skrivningar.
Användarvisningsbild
newbadboy
Inlägg: 2485
Blev medlem: 16 september 2006, 19:16:28
Ort: Landskrona
Kontakt:

Re: Hur gå vidare?

Inlägg av newbadboy »

Ahhh shit. Ok, det hade funkat med eeprom då antalet skrivningar inte hade blivit så många totalt sett.

Problemet är att kretskort redan är beställda. Man klarar sig utan denna finess och jag kom på den i efterhand. Aja så sket det sig denna gång. Får bli ver2.

Så då är det mao så att om man vill spara ngt permanent så behövs ngt form av externt eeprom. Finns säkert iof inbyggda också.

Men hur löser man om man behöver göra många skrivningar?
nifelheim
Den första
Inlägg: 2489
Blev medlem: 27 mars 2008, 22:31:16
Ort: stockholm

Re: Hur gå vidare?

Inlägg av nifelheim »

hur många är "många"?

du får kolla ditt datablad , men 1 000 000 skrivningar är nog inte omöjligt
Användarvisningsbild
Icecap
Inlägg: 26647
Blev medlem: 10 januari 2005, 14:52:15
Ort: Starup (Haderslev), Danmark

Re: Hur gå vidare?

Inlägg av Icecap »

newbadboy: Standard för PIC's inbyggda EEPROM brukar vara 100000gg.

Men tydligen är det en hemlighet vilken PIC du kommer att använda så det är ju ganska svårt att ge råd då.
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Re: Hur gå vidare?

Inlägg av sodjan »

> Problemet är att kretskort redan är beställda.

Om din PIC modell (vilket alltså inte framgår vilken det är) har
internt EEPROM så blir det enbart program ändringar som behövs.

> Så då är det mao så att om man vill spara ngt permanent så behövs ngt
> form av externt eeprom. Finns säkert iof inbyggda också.

Konstigt, *du* är ju den enda som vet vilken PIC modell du använder
så du om någon borde ju veta om den har EEPROM eller inte... :-)

> Men hur löser man om man behöver göra många skrivningar?

Hur många skrivningar är "många" ??? Hur ofta ändras värdet mellan 1, 2 och 3?

Varje EEPROM cell har en viss livslängd. Å andra sidan har du tillgång till
128 eller 256 (två vanliga antal) bytes EEPROM, så du kan byta cell efter
en tag. Finns olika metoder. T.ex använda 3 celler samtidigt och när en av
dom ger ett avvikande värde byta till tre nya o.s.v.

Sen finns det externa minnen som FRAM minnen som har obegränsade
antal skrivningar och behåller värdet utan matningsspänning.
Användarvisningsbild
Swech
EF Sponsor
Inlägg: 4750
Blev medlem: 6 november 2006, 21:43:35
Ort: Munkedal, Sverige (Sweden)
Kontakt:

Re: Hur gå vidare?

Inlägg av Swech »

Oavsett.... om det skall ändras externt via en knapp så vill det verkligen till att man sliter ut det interna EE minnet.
Knappen eller fingret slits nog ut tidigare

Swech
Användarvisningsbild
newbadboy
Inlägg: 2485
Blev medlem: 16 september 2006, 19:16:28
Ort: Landskrona
Kontakt:

Re: Hur gå vidare?

Inlägg av newbadboy »

Helt rätt. Jag vet vilken pic det gäller. 12f675 och den har inte inbyggt vad jag vet. Ska kolla. Eftersom jag inte haft nytta av detta innan har jag inte brytt mig om detta. Speciellt inte då jag inte förstått vad det använts till. Nu vet jag.

Ang antal skrivningar så uppskattar jag att det skulle handla om ca 100-200 under sin livslängd. Borde väl inte vara ngt problem va?

Ska se om jag hittar ngn 8 pinnars med inbyggd eeprom och samma pinout
H.O
Inlägg: 5917
Blev medlem: 19 mars 2007, 10:11:27
Ort: Ronneby

Re: Hur gå vidare?

Inlägg av H.O »

12F675 har 128bytes internt EEPROM med en specificerad "livslängd" på 1000000 skrivningar. Så 200ggr lär inte vara några problem....
Användarvisningsbild
ViktorSigg
Inlägg: 376
Blev medlem: 11 januari 2015, 17:33:50
Ort: Eskilstuna-Ludvika

Re: Hur gå vidare?

Inlägg av ViktorSigg »

Du ska nog läsa databladet lite noggrannare i fortsättningen...

128 byte EEPROM, 1,000,000 writes endurance, framgår på sida 1. :hacker:
Användarvisningsbild
newbadboy
Inlägg: 2485
Blev medlem: 16 september 2006, 19:16:28
Ort: Landskrona
Kontakt:

Re: Hur gå vidare?

Inlägg av newbadboy »

så enkelt var det, som sagt inte förräns man behöver något kollar man det. Och livslängden ser ju rätt bra ut ;)

Fan vad gött o int behöva byta ngn hårdvara. Ibland har man tur

@icecap. Det var inte hemligt, jag glömde sedan la jag mig och sov jävligt gott :)...

Så dår är min nästa fråga var hittar jag info om hur man gör denna typ av skrivningar till eepromet förutom i databladet. Dvs ngt exempel eller liknande?
Användarvisningsbild
Icecap
Inlägg: 26647
Blev medlem: 10 januari 2005, 14:52:15
Ort: Starup (Haderslev), Danmark

Re: Hur gå vidare?

Inlägg av Icecap »

Det finns en macro som sköter skrivningen - om du använder MPLAB & XC8.

Annars är databladet en mycket bra källa till information, sektion 8 är bra att läsa.
Användarvisningsbild
newbadboy
Inlägg: 2485
Blev medlem: 16 september 2006, 19:16:28
Ort: Landskrona
Kontakt:

Re: Hur gå vidare?

Inlägg av newbadboy »

Synd nä jag använder mikroc. Kollar sekt 8 extra noggrant
Användarvisningsbild
Klas-Kenny
Inlägg: 11840
Blev medlem: 17 maj 2010, 19:06:14
Ort: Växjö/Alvesta

Re: Hur gå vidare?

Inlägg av Klas-Kenny »

Varför är det synd att du använder MikroC? Den stora poängen med andra kompilatorer än Microchips egna är väl att det finns färdiga bibliotek för mycket, inklusive EEPROM.
En snabb googling ger att du borde kolla närmare på funktionerna Eeprom_Read() och Eeprom_Write().
Skriv svar