ATmega8 Timer Counter 1 als Zähler verwenden?

Gast #1912667
Lesenswert?

Hallöchen,

ich möchte gerne die H/L Wechsel an einem PIN mit dem ATmega8 ermitteln.
Ich wollte hierzu den T1 Counter nehmen.
1
   TCCR1A = 0;
2
   TCCR1B |= (7<<CS10); /* CLKg mit PIND3 verbinden... */
3
   TCNT1H = 0; /* Zähler zurücksetzen */
4
   TCNT1L = 0;

Hmm irgendwas muss ich übersehen haben, denn ich habe keine 
Zähleränderung die ch auswerten könnte.

Das H/L Signal habe ich an PIND3 angeschlossen. Dann dachte ich reicht 
es das man den CLOCK Eingang mit dem PIND3 verbindet.

Was fehlt oder ist falsch?

Gruß AVRli...
Gast #1913077
Lesenswert?

>Das H/L Signal habe ich an PIND3 angeschlossen.

T1 pin = PD5 beim ATmega8.

>Dann dachte ich reicht es das man den CLOCK Eingang mit dem PIND3 verbindet.

Was soll "CLOCK Eingang" sein?

>Das Input Capture Flag wird gesetzt

Sicher? Auf Pin PD3 liegt INT1, meinst Du das?
Gast #1913133
Lesenswert?

So ich hab falsche Angaben gemacht! :-( Sorry...

KEIN ATmega8, es ist ein ATmega16

Dann hast Du natürlich recht, ich war am falschen PIN!
Richtig ist wohl PIND6?

PD6 ICP1 (Timer/Counter1 Input Capture Pin)
1
   TCCR1A = 0;
2
   TCCR1B |= (7<<CS10); /* External clock source on T1 pin. Clock on rising edge. */
3
   TCNT1H = 0; /* Zähler zurücksetzen */
4
   TCNT1L = 0;

Zählen tut er noch nicht, grübeln geht weiter... ;-)

Gruß AVRli...
Gast #1913166
Lesenswert?

>TCCR1B |= (7<<CS10); /* External clock source on T1 pin.

Lies, was da steht: T1 Pin!

>PD6 ICP1 (Timer/Counter1 Input Capture Pin)

Nein, nicht den Input Capture Pin. Auch nicht den Reset-Pin oder den 
TXD-Pin.
                             +----------+
Du musst das Signal auf den  |  T1 !!!  |  Pin geben!
                             +----------+

Finde diesen Pin (wie heißt er nochmal?) und es wird laufen :-)

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