Gast
#230606
kann man bei sleep eine bestimmte zeit vorgeben wie lange er warten soll in sec oder ms
|
Anzeige
|
Befehl SLEEP
Gast
#230606
kann man bei sleep eine bestimmte zeit vorgeben wie lange er warten soll in sec oder ms
Gast
#230607
Nein.
Gast
#230608
ja und mit welchem befehl dann
Gast
#230609
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.
Gast
#230610
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
#230611
ja ich bin anfänger wie schreib ich denn einen interupt
Gast
#230612
Eine Minute zu spät. Wecker war ungenau.
Gast
#230613
ahh ja das is ein 2313
Gast
#230614
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
#230615
programmausführung für z.B. 20 sec stoppen
Gast
#230616
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
#230617
naja mit 'nem AVR uns BASCOM genügt eine Zeile: Wait 20
Gast
#230618
is das freeware ???
Gast
#230619
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
Gast
#230620
aber gibs keine andere möglichkeit in avr studio eine programmstop zu generieren das is doch bestimmt eine schleife oder so
Gast
#230621
ja klar, das geht auch, nur verschachtelten Schleifen, damit es lange genug dauert..
Gast
#230622
hab jetzt bascom wie ist der befehl um die include einzubinden
Gast
#230623
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 schreibenBitte melde dich an, um einen Beitrag zu schreiben. |
Anzeige
|