AVR Mega 16 T0 Interrupt bei externen Signal

OP #5179313
Lesenswert?

Ich habe vor, eine Markisensteuerung mit einem AT Mega16 zu bauen.
Die Schaltung ist betriebsbereit. Probleme habe ich mit dem Geber für 
die
Windgeschwindigkeit, da Impulse sehr langsam und unregelmäßig kommen
------------------------------------------------------------------------ 
-------
Eigenschaften der Geber::   Windsensor WIS01:
Bei einer Umdrehung/s = 1Hz für 20km/h Windgeschwindigkeit geht bis 7Hz 
= 140km/h
erzeugt ein Impuls nach High; konstante Länge = 50ms (erfaßtt werden 
müssten die Anzahl der Impulse in z.B.
10 Sekunden) und dann Mittelwert * 20km/h // ist jedoch bei kein Wind 
unendlich = kein Impuls

Jetzt ist folgendes angeschlossen:
Wind an T0  (PB0) (INT0 wäre auch noch frei)
------------------------------------------------------------------------ 
---------
Der Timer 2 läuft und erzeugt 1 Sek Takt/Interrupt und führt Anzeigen 
usw durch.
INT2 ist mit Regensensor besetzt.   PROBLEM:
Ich dachte zuerst man bekommt bei T0 einen Interrupt (wenn z.B. CS0 123 
auf eins
=steigende Flanke) und kann damit 10 Sekunden zählen und addieren. Das 
geht aber scheinbar nicht,
weil ja kein konstanter Impulsstrom da ist (kein Wind = kein Impuls)
Ich habe auch keine Interruptroutine dazu gefunden (TiMER0_COMP_vect und 
auch
TIMER0_OVF_vect) gehen nicht weil ja ein Vergleichswert erreicht werden 
soll und den
kennt man ja vorher nicht (Timer 1 und ICP ist auch schon besetzt, dazu 
melde ich mich später)
Eigentlich will ich nur Wissen ob die T0 oder INT0 richtig gedacht ist?
OP #5179364
Lesenswert?

Frank G. schrieb:
> du fragst dann Timer 0 in gleichmässigen Zeitabständen ab, mit
>> Hilfe eines anderen Timers.

Was ich da noch rauslese: Dann bekomme ich bei T0 keinen Interrupt, d.h.
ich brauche auch keine ISR (bei Flankenwechsel)
In meiner Hautschleife (1 x pro Sek zähle ich 10 Mal) und lese dann 
TCNT0 aus und setze das dann wieder auf 0 und zähle erneut

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