www.mikrocontroller.net

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


Autor: AVRli (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.
   TCCR1A = 0;
   TCCR1B |= (7<<CS10); /* CLKg mit PIND3 verbinden... */
   TCNT1H = 0; /* Zähler zurücksetzen */
   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...

Autor: Stefan B. (stefan) Benutzerseite
Datum:

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

Wirklich?

Autor: AVRli (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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...

Autor: AVRli (Gast)
Datum:

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

Autor: Vuvuzelatus (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: AVRli (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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)
   TCCR1A = 0;
   TCCR1B |= (7<<CS10); /* External clock source on T1 pin. Clock on rising edge. */
   TCNT1H = 0; /* Zähler zurücksetzen */
   TCNT1L = 0;

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

Gruß AVRli...

Autor: Vuvuzelatus (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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 :-)

Autor: AVRli (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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...

Autor: Vuvuzelatus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja super... dann guts Nächtle :-)

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.