Befehl SLEEP

Gast #230610
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
Gast #230614
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
Gast #230616
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
Gast #230623
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

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren