www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Befehl SLEEP


Autor: Florian Menne (Gast)
Datum:

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

Autor: Jens (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nein.

Autor: Florian Menne (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ja und mit welchem befehl dann

Autor: papa_of_t (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Michael Wilhelm (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Florian Menne (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ja ich bin anfänger wie schreib ich denn einen interupt

Autor: Michael Wilhelm (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Eine Minute zu spät. Wecker war ungenau.

Autor: Florian Menne (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ahh ja das is ein 2313

Autor: Hugo (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Florian Menne (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
programmausführung für z.B. 20 sec stoppen

Autor: Florian Menne (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: papa_of_t (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
naja mit 'nem AVR uns BASCOM genügt eine Zeile:

Wait 20

Autor: Florian Menne (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
is das freeware ???

Autor: papa_of_t (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Florian Menne (Gast)
Datum:

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

Autor: papa_of_t (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ja klar, das geht auch, nur verschachtelten Schleifen, damit es lange
genug dauert..

Autor: Florian Menne (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hab jetzt bascom wie ist der befehl um die include einzubinden

Autor: Hugo (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.