Forum: Mikrocontroller und Digitale Elektronik Befehl SLEEP


von Florian Menne (Gast)


Lesenswert?

kann man bei sleep eine bestimmte zeit vorgeben wie lange er warten soll
in sec oder ms

von Jens (Gast)


Lesenswert?

Nein.

von Florian Menne (Gast)


Lesenswert?

ja und mit welchem befehl dann

von papa_of_t (Gast)


Lesenswert?

Fast so wie beim Menschen auch - man stellt einen Wecker(Timer) VOR dem
Einschlafen, aktiviert ihn und läßt sich vom Timer-Interrupt aus dem
Schlaf reißen.

von Michael Wilhelm (Gast)


Lesenswert?

Der Sleep-befehl funktioniert wie das echte Leben. Du stehst morgens
auf, nachdem der Wecker geklingelt hat. Der Controller wacht auf, wenn
ein Interrupt ihn weckt. Welche Interrupts den Controller aufwecken
steht im Datenblatt.

MW

von Florian Menne (Gast)


Lesenswert?

ja ich bin anfänger wie schreib ich denn einen interupt

von Michael Wilhelm (Gast)


Lesenswert?

Eine Minute zu spät. Wecker war ungenau.

von Florian Menne (Gast)


Lesenswert?

ahh ja das is ein 2313

von Hugo (Gast)


Lesenswert?

Geht es dir wirklich darum den Prozessor in einen Sleep-Modus zubringen,
d.h. zwecks Stromsparens ihn größten Teils abzuschalten oder möchtest du
nur deine Programmausführung für eine gewisse Zeit unterbrechen?

Grüße

von Florian Menne (Gast)


Lesenswert?

programmausführung für z.B. 20 sec stoppen

von Florian Menne (Gast)


Lesenswert?

pass auf ich schreib gerade das programm hab ein teil schon fertig

.include "2313def.inc"

         ldi r16, 0xFF ;PORTB als ausgang definieren
         out DDRB, r16
         ldi r16, 0x00 ;PORTD als eingang definieren
         out DDRD, r16
 anfang:
         sbi PORTB,  1
         sbi PORTB,  2
         sbi PORTB,  3 ;Ampel im ersten zustand
 loop:   sbic PIND, 0
         rjmp loop
         sbi PORTB, 4 ; Grüne led in der Dreierbank aus
         cbi PORTB, 3 ; Gelbe led in der Dreierbank an
         ;Hier Programmstopp
         sbi PORTB, 3 ;Gelbe led in der Dreierbank aus

von papa_of_t (Gast)


Lesenswert?

naja mit 'nem AVR uns BASCOM genügt eine Zeile:

Wait 20

von Florian Menne (Gast)


Lesenswert?

is das freeware ???

von papa_of_t (Gast)


Lesenswert?

Also wenn Du BasCom meinst, das ist genau genommen keine Freeware, aber
es gibt eine kostenlose und voll funktionsfähige Demo. Einzige
Einschränkund der Demo: Die Programmgröße ist begrenzt, allerdings sehr
großzügig. Man kann da übrigens auch Basic und Assembler mixen.

http://www.mcselec.com/download.htm

von Florian Menne (Gast)


Lesenswert?

aber gibs keine andere möglichkeit in avr studio eine programmstop zu
generieren das is doch bestimmt eine schleife oder so

von papa_of_t (Gast)


Lesenswert?

ja klar, das geht auch, nur verschachtelten Schleifen, damit es lange
genug dauert..

von Florian Menne (Gast)


Lesenswert?

hab jetzt bascom wie ist der befehl um die include einzubinden

von Hugo (Gast)


Lesenswert?

Hi,

für Assembler gibt es ein Programm welches dir die benötigten Schleifen
für den gewünschten DELAY erstellt. In der Oberfläche gibst du nur ein
paar Eckdaten ein, wie Systemtakt, Länge des Delays und welche Register
verwendet werden dürfen. Darauf generiert dir die Software den Assembler
– Quellcode der Schleifen.

http://www.home.unix-ag.org/tjabo/avr/AVRdelayloop.html

Wirklich sehr praktisch…


Grüße

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.