Forum: Mikrocontroller und Digitale Elektronik Tiny2313 Timer1 Problem


von Michael (Gast)


Lesenswert?

Hi!

hab hier mal ne frage zum timer1. mein µC läuft mit 4MHz und meinen
prescaler hab ich auf teiler 8 eingestellt (CS10=0, CS11=1, CS12=0).
nun setzte ich meinen zähler auf 65526 (10 bis überlauf) und dieser
kommt nach 200µs sprich 20µs pro teilung und ohne vorteiler 2,5µs cpu
takt. jedoch sind 2,5µs nur 400KHz und keine 4MHz mit der der Osz
läuft.hat jemand ne idee wo mein fehler liegt?

von Ronny (Gast)


Lesenswert?

4MHZ/8 = 500KHZ
500KHZ entspricht 2µs
10 Schritte a 2µs machen 20µs,passt.

Ohne Vorteiler dauert´s entsprechend nur 1/8 der Zeit.

Wo ist das Problem?

Nicht die Zählgeschwindigkeit mit der Zeit bis zum Überlauf
verwechseln!Der Prescaler teilt den CPU Takt herunter,der Timer1 zählt
dann mit dieser Geschwindigkeit.Dein Faktor 10 stammt aus den 10
Zählschriten,die der Timer bis zum Überlauf macht.Experimentiere doch
mal etwas mit den Reload-Werten,dann wird der Zusammenhang schnell
klarer.

von Michael (Gast)


Lesenswert?

nein, ich meine nicht 10 schritte a 2µs sondern bei mir sind es 10
schritte a 20µs.

hab gerade nochmal im datenblatt nachgeschaut und was gefunden was mir
noch unbekannt ist. das ganze nennt sich "system clock prescaler".
ist dieser vielleicht standartmässig auf teiler 8 eingestellt? und
gibts für winavr ne routine um den einzustellen?

von inoffizieller WM-Rahul (Gast)


Lesenswert?

Den kann man über die Fuses einstellen...

Und über das Register "CLKPR".
Das kann man in C meist durch CLKPR = ...; ändern.
Beachte dabei die Seite 30f des Datenblattes.

von Ronny (Gast)


Lesenswert?

Ich bin jetzt einfach mal davon ausgegangen,das dein AVR wirklich mit
4MHZ läuft.Lies dir vielleicht mal das Kapitel über den Systemtakt in
Ruhe durch,da steht eigentlich ganz gut beschrieben,welche
Einstellungen für welche Taktquellen es genau gibt(Seite 28 im Manual).

von Michael (Gast)


Lesenswert?

okay, jetzt ist es klar, im register "CLKPR" kann ich den eingangstakt
vorteilen der dann die clockfrequenz des µc ist.

danke!

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.