Nachlaufsteuerung mit Taster

Gast #721450
Lesenswert?

Hallo, ich habe einen Atmega8 mit dem Stk500 und möchte mit Taster 1 und 
2 Ausgang 1. Schalten und mit Taster 3 und 4 Ausgang 2. einschalten.
Das klappt soweit auch gut, nur möchte ich das die Ausgänge nach dem 
Tasten des Tasters eine Nachlaufzeit von ca. 1 bis 10 Sekunden haben.
Warum klappt das mit dem Delay nicht ??? oder wie kann ich das besser 
machen ?
Bitte um Hilfe....
Angehängte Dateien:
#721471
Lesenswert?

Schreib keine eigenen delay Funktionen!

Da deine delay Funktion keinen für den Compiler erkennbaren
Zweck hat, ausser Zeit zu verbrutzeln, optimiert sie dir
der Compiler heraus.

Will man wirklich einen delay haben, dann gibt es in
#include <util/delay.h>
2 Funktionen. Eine davon ist _delay_ms

Schau aber in das angegebene Header File hinein. Es gibt
Obergrenzen für die delays, die mit der Taktfrequenz deines
µC zusammenhängen!


PS: Solch lange Verzögerungen wird man nicht mittels delay
machen. Der Grund: Während der µC die Zeit runterzählt, kann
er keine anderen AUfgaben bearbeiten. Für sowas wird man in
der Praxis einen Timer nehmen. Ich verstehe aber, dass du
irgendwann an irgendeiner Stelle mit dem Lernen der Programmierung
anfangen musst und daher nicht alles gleichzeitig lernen kannst.
#721478
Lesenswert?

@ Boris (Gast)

>Hallo, ich habe einen Atmega8 mit dem Stk500 und möchte mit Taster 1 und
>2 Ausgang 1. Schalten und mit Taster 3 und 4 Ausgang 2. einschalten.
>Das klappt soweit auch gut, nur möchte ich das die Ausgänge nach dem
>Tasten des Tasters eine Nachlaufzeit von ca. 1 bis 10 Sekunden haben.
>Warum klappt das mit dem Delay nicht ??? oder wie kann ich das besser
>machen ?

1.) Lass das selbstgestrickte Delay. Dafür gibt es fertige, getestete 
Funktionen.

http://www.mikrocontroller.net/articles/AVR-GCC-Tutorial#Warteschleifen_.28delay.h.29

2.) was soll di definition einer funktion INNERHALB von main? Dass ser 
Compiler dort nciht meckert ist schon ein kleines Wunder.

3.) Formatiere den Code ordentlich (Einrücken), so kann ihn keiner 
lesen, incl. du.

MFG
Falk

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