Forum: Compiler & IDEs ATmega8 Timer Counter 1 als Zähler verwenden?


von AVRli (Gast)


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...

von Stefan B. (stefan) Benutzerseite


Lesenswert?

>    TCCR1B |= (7<<CS10); /* CLKg mit PIND3 verbinden... */
                ^

Wirklich?

von AVRli (Gast)


Lesenswert?

Stefan B. schrieb:
> Wirklich?

7 = External clock source on T1 pin. Clock on rising edge

Mit dem Ozzi sehe ich mein sauberes H/L Signal an PIND3 ganz 
ausgezeichnet.

Gruß AVRli...

von AVRli (Gast)


Lesenswert?

Das Input Capture Flag wird gesetzt, muss man noch was einschalten oder 
abfragen damit der Counter hoch zählt?

von Vuvuzelatus (Gast)


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?

von AVRli (Gast)


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...

von Vuvuzelatus (Gast)


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 :-)

von AVRli (Gast)


Lesenswert?

Vuvuzelatus schrieb:
>                              +----------+
> Du musst das Signal auf den  |  T1 !!!  |  Pin geben!
>                              +----------+

Vielen Dank für Deine Geduld

Ja in Tat alles prima, könnt in die Tischplatte beißen das ich so 
schusselig war und das nicht bemerkt habe. :-(

Nun läuft es... TOP!

Gruß AVRli...

von Vuvuzelatus (Gast)


Lesenswert?

Ja super... dann guts Nächtle :-)

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.