Försätta 12F1847 i sleep mode

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

Försätta 12F1847 i sleep mode

Inlägg av newbadboy »

http://ww1.microchip.com/downloads/en/D ... 01441F.pdf

Hittar inte riktigt hur jag försätter nämnd krets i sleep mode. Jag trodde det var ngt register som sköter just sleep mode. Men det verkar snarare vara så att man tex ska disabla klocka etc. Stämmer detta?
Användarvisningsbild
lillahuset
Gått bort
Inlägg: 13969
Blev medlem: 3 juli 2008, 08:13:14
Ort: Norrköping

Re: Försätta 12F1847 i sleep mode

Inlägg av lillahuset »

Läs databladet du länkar till. Sidan 77 kapitel 9.
Användarvisningsbild
sodjan
EF Sponsor
Inlägg: 43148
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping
Kontakt:

Re: Försätta 12F1847 i sleep mode

Inlägg av sodjan »

Ja, "SLEEP" är en instruktion som ska köras. Den i sin tur
sätter en del register lite hit och dit som behövs...
Användarvisningsbild
newbadboy
Inlägg: 2426
Blev medlem: 16 september 2006, 19:16:28
Ort: Landskrona
Kontakt:

Re: Försätta 12F1847 i sleep mode

Inlägg av newbadboy »

Det var just den sidan jag kollat själv på.

Kan jag helt enkelt skriva bara

SLEEP;

känns underligt
Användarvisningsbild
lillahuset
Gått bort
Inlägg: 13969
Blev medlem: 3 juli 2008, 08:13:14
Ort: Norrköping

Re: Försätta 12F1847 i sleep mode

Inlägg av lillahuset »

Står det i databladet kan du räkna med att det är så. Gäller i stort sett alltid.
Användarvisningsbild
newbadboy
Inlägg: 2426
Blev medlem: 16 september 2006, 19:16:28
Ort: Landskrona
Kontakt:

Re: Försätta 12F1847 i sleep mode

Inlägg av newbadboy »

Haha, jag tyckte bara att det för en gångs skull står för tydligt så jag tänkte, nää så enkelt är det inte :)
Användarvisningsbild
sodjan
EF Sponsor
Inlägg: 43148
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping
Kontakt:

Re: Försätta 12F1847 i sleep mode

Inlägg av sodjan »

Om du kör assembler så är som vilken annan instruktion som helst.
Om du kör C så får du kolla din C-manual hur det är löst. Ofta finns
det en funktion som heter just sleep().

Sök även efter "sleep" i databladet. Det finns många stället som
"xxx operation during sleep" o.s.v.
Användarvisningsbild
newbadboy
Inlägg: 2426
Blev medlem: 16 september 2006, 19:16:28
Ort: Landskrona
Kontakt:

Re: Försätta 12F1847 i sleep mode

Inlägg av newbadboy »

Kör c.

Men jag hittade nog nu vad det heter.

asm sleep;
Användarvisningsbild
sodjan
EF Sponsor
Inlägg: 43148
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping
Kontakt:

Re: Försätta 12F1847 i sleep mode

Inlägg av sodjan »

Ja, det går ju också. I XC8 så kan man antingen använde embedded ASM:

#asm
SLEEP
#endasm

Eller använda funktionen:

SLEEP();
bearing
Inlägg: 11231
Blev medlem: 2 mars 2006, 01:01:45
Ort: Ängelholm

Re: Försätta 12F1847 i sleep mode

Inlägg av bearing »

Dock är det väl inte riktigt så enkelt. Du måste ju ta fram en strategi för hör den ska vakna också! Annars kommer den glatt sova länge =)
Enklast är väl att ha något interrupt som väcker den.
Användarvisningsbild
newbadboy
Inlägg: 2426
Blev medlem: 16 september 2006, 19:16:28
Ort: Landskrona
Kontakt:

Re: Försätta 12F1847 i sleep mode

Inlägg av newbadboy »

Jo i detta fallet skall den sova länge. Den ska utföra lite uart grejer när den strömsätts. Sen ska den vara sömnig och sova tills man togglar strömmen.

Men ja annars måste den ju väckas.
bearing
Inlägg: 11231
Blev medlem: 2 mars 2006, 01:01:45
Ort: Ängelholm

Re: Försätta 12F1847 i sleep mode

Inlägg av bearing »

Aha, ja i så fall kan du ju ställa in så att den stänger av i princip allt. Passa på att stänga av alla periferi-enheter innan, ifall de inte stängs av automatiskt.
Användarvisningsbild
newbadboy
Inlägg: 2426
Blev medlem: 16 september 2006, 19:16:28
Ort: Landskrona
Kontakt:

Re: Försätta 12F1847 i sleep mode

Inlägg av newbadboy »

Det var ingen dum ide, ska prova se om det gör ngn skillnad. Just nu drar hela kortet 130uA i sleep.
Användarvisningsbild
Magnus_K
EF Sponsor
Inlägg: 5854
Blev medlem: 4 januari 2010, 17:53:25
Ort: Skogen mellan Uppsala-Gävle

Re: Försätta 12F1847 i sleep mode

Inlägg av Magnus_K »

Se om du kan dimensionera om, eller eventuellt deaktivera, pull-ups också.
Kanske självklart, men ville bara nämna det.
Användarvisningsbild
newbadboy
Inlägg: 2426
Blev medlem: 16 september 2006, 19:16:28
Ort: Landskrona
Kontakt:

Re: Försätta 12F1847 i sleep mode

Inlägg av newbadboy »

Det finns en spänningsdelare på 2x1Mohm som används för batteristatus, dock bidrar den med rätt lite.

Kortet är mestadels icke strömsatt och då ligger det på ca 5uA förbrukning pga av spänningsdelaren. Vilket ger ca 5 års batteritid. Helt ok
Skriv svar