Forum: Mikrocontroller und Digitale Elektronik Zeitschleife (AVR, ATmega8)


von P. I. (pimi)


Lesenswert?

Hallo Forumuser,
Ich bin ein Anfänger auf dem Gebiet und suche entsprechende Unterlagen 
bzw. ausführliche Erklärung zu den Programmen die in SiSy enthalten 
sind.
Ich möchte in der C-Sprache eine Zeitschleife programmieren. In der Zeit 
Impulse von einem Windwächter zählen und nach Ablauf der Zeit 
Windgeschwindigkeit ausrechnen.
Wenn die Geschwindigkeit größer als der zugelassener Wert ist, soll ein 
Ausgang gesetzt bzw. rückgesetzt werden.
Leider komme ich mit der Zeitschleife nicht zurecht. Brauche Funktion, 
Parameter und Initialisierungsbefehl.
Für einen Tipp oder Wegweiser wäre ich sehr dankbar.
Mit freundlichen Grüßen
Danke

von ... .. (docean) Benutzerseite


Lesenswert?

Bei WinAVR bzw. avr-libc gibts die delay.h

http://www.nongnu.org/avr-libc/user-manual/group__util__delay.html

Oder was benutzt du?

Oder du nutzt Timer...

von Timmo H. (masterfx)


Lesenswert?

Meine Idee: Nimm einen Timer der fröhlich hochzählt. Durch einen 
externen Pin lässt du den Windmesser einen Interrupt auslösen. In der 
ISR zählst du dann eine Zählervariable hoch. In der ISR vom Timer (die 
meinetwegen nach 1 Sekunde einen Interrupt auslöst) guckst du dann wie 
der Wert der Zählervariable des Windmesser ist, wertest diese aus und 
setzt diese dann wieder auf 0 zurück.

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.