Een volledige starter gids voor AVR's (8 / 10 stap)

Stap 8: slapen


Als u iets dat gaat lopen van de batterij aan het opbouwen zijn, het is een goed idee om energie te besparen waar je kunt.
Een van de eerste dingen om te doen de micro wordt uitgevoerd op de langzaamste klok die je kunt terwijl de code doet het werk, het andere ding is dat de micro om te slapen wanneer u niet nodig hebt.

Als u een langzame sensor aan het opnemen bent, of je alleen moet monsters te nemen elke zo vaak, is het mogelijk kunt slapen voor langere tijd en een heleboel energie besparen.

Wanneer u premieaffaires te ontvangen uw micro slapen u moet een manier om het wakker te worden, of u zult kunnen om iets te doen.
Je hebt een paar opties.
Een is een watchdog-timer instellen, en de andere is om setup interrupts.

Een watchdog-timer is een aparte klok die uitgevoerd onafhankelijk van de micro's code.
Als het overloopt kan het teweegbrengen van een interrupt of herstellen van de micro.
U kunt dit gebruiken ofwel wakker van enige tijd in de toekomst, of kunt u het get you out of code die is in een oneindige lus.

We gaan alleen te concentreren op de chip hier wakker.

De andere optie, een pin-interrupt is de mogelijkheid om de micro kielzog omhoog wanneer er iets gebeurt op de interrupt IO pinnen.
Aan de macht naar beneden modus, de interrupt alleen gestart als de pin laag gaat (zoals wanneer een knop wordt ingedrukt bijvoorbeeld), maar in de standby-modus u op een verandering in de staat van de pin onderbreken kunt (zoals gaande van laag naar hoog of visa versa).

Dus, nu we weten over manieren om uit de slaap, hoe krijgen we erin?

Hier is een voorbeeld van de bijgevoegde code:

set_sleep_mode(SLEEP_MODE_PWR_DOWN);
sleep_enable();
sleep_cpu();

Word wakker
sleep_disable();
MCUSR = 0;

Wij Stel de modus eerst, en stel vervolgens slaap ingeschakeld, gevolgd door een aanroep van sleep_cpu.
Het proces is onderverdeeld in stappen als dit om te voorkomen dat slechte code per ongeluk slaap.
Het is op dit punt dat de micro in slaap zal zijn.
Wanneer het is gewekt door een van de hierboven genoemde bronnen, blijft het op, waar moet u onmiddellijk de optie slaapstand uitschakelen (nogmaals, om te beschermen tegen slechte code).
De laatste regel wordt de oorzaak van het resetten (zoals vanaf de watchdog-timer) gewist.

Dus, hoe we de watchdog-timer instellen?
WDTCSR | = (1 << WDP2) | (1 << WDP1) | (1 << WDP0) | (1 << WDIE);

De eerste 3 waarden instellen hoe lang tot de watchdog branden (bladzijde 43 in het gegevensblad), in dit voorbeeld is het 2 seconden (weer, ongeveer).
De laatste kan de watchdog-interrupt.
Dit moet worden gedaan alvorens de slaapstand zoals in de voorbeeldcode.

U zult moeten leveren een interrupt handler voor de watchdog als volgt:
ISR(WDT_OVERFLOW_vect)
{
LED_TOGGLE;
}

U kunt het leeg laten als alles wat je wilt is de microcontroller de slaapstand wordt gehaald.
Een laatste stap is het inschakelen van de onderbreekt wereldwijd door te bellen naar sei(); aan het begin van uw code.

Wat betreft de pin interrupts, zullen wij behandelen die in een latere stap.

Als u het bouwen van het circuit in de afbeelding en gebruik de bijgevoegde code, elke 2 seconden zal de LED wisselen, en in de tussentijd de micro zal gaan slapen om energie te besparen.

Gerelateerde Artikelen

Een volledige Video-gids voor het kweken van erfstuk tomaten: Start to Finish!

Een volledige Video-gids voor het kweken van erfstuk tomaten: Start to Finish!

Deze video toont de geschiedenis van de gehele groei van een plant een "Black Krim" heirloom tomaat. Het zal u tonen:Hoe te planten tomatenHoe te bouwen van hot-house kooien (voor vroege aanplant)Hoe te snoeien uit sukkelsHoe maak je een ziekte
Een Super vaag gids voor het brouwen van bier

Een Super vaag gids voor het brouwen van bier

Een Super vaag gids voor het brouwen van bierGeen bijzonderheden maar als u op zoek bent voor een algemeen idee van wat er in huis brouwen van bier dan deze video is voor jou
Volledige idioten gids voor rc vliegtuigen

Volledige idioten gids voor rc vliegtuigen

In deze instructables, ik zal u tonen hoe te en wat u zult moeten om te bouwen van een modelvliegtuigen. Ik zal u vertellen hoe te bouwen en repareren van een rc vliegtuig. Laat nu begin met de theorie, vliegtuig kan vliegen is vanwege zijn vleugels
Mijn gids voor AVR Transistortesters

Mijn gids voor AVR Transistortesters

Als u een elektronica-hobbyist zijn AVR Transistortesters de grootste ding sinds gesneden brood! Waarom als Ron Popiel nog in leven was hij zou worden hawking deze dag en nacht op het winkelen netwerk. Maar soms is er zulk een ding als teveel van het
Hoe maak je een magnetische slijpen gids (voor verscherping beitels & Hand vliegtuigen) | DIY houtbewerking Tools #5

Hoe maak je een magnetische slijpen gids (voor verscherping beitels & Hand vliegtuigen) | DIY houtbewerking Tools #5

"Wanneer het [hout] graan tranen uit, ik wil mijn haren uit te scheuren."- GmoonTerwijl dit probleem niet vanwege Trichotillomanie optreedt, zeker gebeurt omdat u uw Hand-vliegtuigen correct zijn niet verscherping.Een gemakkelijke manier om een
Een COMPLETE beginners gids voor airsoft

Een COMPLETE beginners gids voor airsoft

deze handleiding is niet zoals andere instructables, deze handleiding bevat alles wat u weten om te gaan moet en plezier hebben. Nu, dankzij enkele tips heeft gereageerd op deze pagina, ik zal het toevoegen van wat nieuwe spullen... Controle het uit!
Een klimmer van gids voor de cijfer-acht volgen via knoop

Een klimmer van gids voor de cijfer-acht volgen via knoop

Rock klimmers hebben meestal een arsenaal van knopen, ze weten hoe om te binden, maar geen zo vaak wordt gebruikt als de figuur-acht doortasten. De cijfer-acht volgen door beveiligt de klimmer aan het touw via hun harnas en fungeert als hun beschermi
Baileigh combinatie Shear rem Roll: Een Quick Start Guide voor Pier 9

Baileigh combinatie Shear rem Roll: Een Quick Start Guide voor Pier 9

De Baileigh combinatie Shear/rem/Roll is gelegen aan de Autodesk Pier 9 Workshop in de Studio van metaal. Als u werken met plaatwerk op Pier 9 wilt, is dit hulpprogramma voor jou.De Baileigh Combiwerktuig kunt schuintrekken milde plaatstaal tot 16ga.
Mes slijpen met een whetstone: een eenvoudig hoek-gids voor de perfecte blade.

Mes slijpen met een whetstone: een eenvoudig hoek-gids voor de perfecte blade.

Mes, whetstone, & telefoon. Perfecte blade.Een mes met behulp van een steen slijpen kan lastig zijn als je net begint en u daadwerkelijk met een saai mes eindigen kunt. Het basisconcept van een mes te slijpen is gelijke hoeken aan beide zijden. 17-17
Een Maker's gids voor ATX-voedingen

Een Maker's gids voor ATX-voedingen

Er zijn tonnen van Instructables op welke manier voor kappen een afgedankte ATX (computer)-voeding met ventilator (PSU) in de voeding van een lab-Bank. Dit is niet een van hen.Mijn waarneming is dat de meeste makers, hackers en gekke wetenschappers n
Een arme iemands gids voor het kopen van een gitaar

Een arme iemands gids voor het kopen van een gitaar

elke websight die ik heb gezien dat u vertelt hoe te selecteren en een gitaar te kopen zijn gericht op volwassenen met geld. Ik ben niet zelfs op de middelbare school, dus geen van deze help me! Ik pakte een flink aantal kneepjes van het vak van mijn
De altijd actuele gids voor Ubuntu

De altijd actuele gids voor Ubuntu

Hi Guys!  Dit is het altijd Up-to-Date gids voor Ubuntu.  Deze zal worden bijgewerkt met elke nieuwe release van Ubuntu.  De huidige versie is Ubuntu 13.04 Raring oostelijke.  De volgende release, 13.10 Saucy Salamander is verschuldigde 17 oktober of
Maken van een aangepast formaat box voor afdrukken in 3D met OpenSCAD

Maken van een aangepast formaat box voor afdrukken in 3D met OpenSCAD

Op hybrislabs, we hebben onderzocht IoT hele hijs zootje en op een gegeven moment onze prototypes werd zo klein en geïntegreerde, dat we de noodzaak hadden te creëren van aangepaste vakken voor deze. Aanvankelijk gebruikten we 123D voor het maken van
Steeds een Maker: de complete gids voor een volledig functionele minishop: tools

Steeds een Maker: de complete gids voor een volledig functionele minishop: tools

Wat is een maker? Een maker is een DIY'er, recycle en reuse'er en een crafter. Zij nemen wat niet, en er wat Is. Makers hebben niet alleen Behendigheid, maar ook als de bepaling over zijn of haar project. Wat is er nodig om een maker? Ook de eerste s