Forum: Mikrocontroller und Digitale Elektronik Counter des Atmega8: TCNT0 zählt nicht hoch


von Chris (Gast)


Angehängte Dateien:

Lesenswert?

Hey zusammen,

ich bin AVR-Anfänger und probiere gerade einen Frequenzzähler auf meinem 
Atmega8 in C zu programmieren.
Da dies jedoch noch nicht funktioniert hat, wollte ich nun erstmal 
versuchen eine Rechteckfrequenz (0-4,5V) mit Hilfe des Counters 0 zu 
zählen. Als Frequenz habe ich 100kHz. Ausgegeben wird das ganze über den 
USART auf den PC, wobei mein Chip auf dem STK500 steckt.
Mit meinem Programm würde ich nun erwarten, wenn ich die Frequenz 
ändere, dass sich auch mein ausgegebener Wert ändert, jedoch bekomme ich 
nur durchgehend "0". (Das der Zähler relativ häufig überläuft, ist mir 
klar, jedoch sollte bei verschiedenen Frequenzen nicht immer "0" in 
TCNT0 stehen.)
Vielleich könntet ihr mir helfen, woran es liegt. Danke!

von Thorsten H. (lordvader91)


Lesenswert?

1
while(1)
2
    { 
3
      USART_puts(m);  //gibt den Array des Strings m an USART_puts weiter
4
      _delay_ms(1000); //braucht ein delay, da sonst der USART überläuft
5
     }

Eine Endlosschleife in der Main-Loop...
Es wird also immer dein erstes m ausgegeben.

Die zweite while-Schleife ist überflüssig.

: Bearbeitet durch User
von Chris (Gast)


Lesenswert?

Ok super Sache, danke! Jetzt gibt er mir wenigstens Zahlen raus, zwar 
nicht besonders regelmäßig, aber er reagiert.
Dann werde ich mich mal weiter meinem Frequenzzähler widmen, vielleicht 
ergeben sich hier noch Fragen :)

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.