Forum: Mikrocontroller und Digitale Elektronik Takt Timer1; atmega164


von Tintifax (Gast)


Lesenswert?

Hallo!

Ich habe an meinem Atmega 164 einen 16MHz Quarz hängen und alle Fuse 
bits meiner Meinung nach richtig gesetzt.

Nun verwende ich den ICP Pin um die Frequenz eines Signals zu messen. 
Nun ist aber die gemessene Frequenz um den Faktor 2 höher als die 
wirkliche Frequenz. Auch die CKDIV8 fuse ist richtig eingestellt.

Kann es sein, dass eine Einstellung im AVR- Studio die Variable F_CPU 
ändert?
Läuft mein IC nur mit 8 Hz?
Unter Options habe ich die Frequenz auf 16000000Hz eingestellt.

Wo könnte der Fehler liegen, dass die Frequenz doppelt so hoch angezeigt 
wir. Im source code liegt der Fehler nicht.

Danke

von Johannes M. (johnny-m)


Lesenswert?

Tja, kein Sourcecode -> heiteres Ratespiel...

Könnte es eventuell sein, dass Du anstelle einer ganzen Periode nur 
eine halbe erfasst?

BTW: Das Einstellen der Frequenz in den Configuration Options bzw. im 
Makefile hat keine Auswirkung auf die tatsächliche Taktfrequenz des 
Controllers. Die lässt sich ausschließlich über die Fuses ändern. Die 
Angabe ist nur für einige Bibliotheksfunktionen erforderlich, die mit 
dem Frequenzwert rechnen.

von Tintifax (Gast)


Lesenswert?

Nein ich triggere nur auf die steigende Flanke!

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.