AVR 16 Bit timer berechnen

Gast #40589
Lesenswert?

vielleicht ist meine frage besser hier aufgehoben:

um einen 16 bit timer zu berechen muss
ich folgende Berechnung durchführen:

Zeit = 1 / ( Haupttakt  1024  Vorteiler )

jetzt zu meiner frage:

wo kommt eigentlich die 1024 her???
ist das ein weiterer interner vorteiler?

hier mal ein beispiel:

z.B

16 Bit Timer bei einem Vorteiler von 1

25,6[us] = 1 / ( 4000000[Hz]  1024  1 )

funktioniert im AVR-Studio sowie auch im avr selber
Gast #40590
Lesenswert?

Ich vermute mal, Du verwechselst das hier mit einem 10-bit PWM.
Der zählt in der Tat bis 1024.  Ansonsten würde das nur für den
Spezialfall CTC-Mode (clear timer on compare match) zutreffen
mit einem Vergleichswert von 1024.
Gast #40591
Lesenswert?

mhh..komisch ist halt nur, dass es so funktioniert.

ich aktiviere einfach den 16 bit timer und setzte den vorteiler auf 1
und zusätzlich halt noch den timer overflow interrupt.

also sollten es dann nicht 25µs sein sondern:

0.25[µs] = 1 / 4000000[Hz] ???
Gast #40594
Lesenswert?

Der ist natürlich schon f[clk] / Vorteiler.  Aber wo siehst Du den
denn (in der Simulation oder in der Realität)?  Du bekommst keinen
Interrupt dafür, kannst keinen Ausgang damit umschalten lassen, rein
gar nichts.  Der tickert nur intern im Timer.  Im Falle des
Vorteilers 1 passiert es oft genug, daß mehr als ein Timertick
vergeht, bevor der nächste Befehl überhaupt komplett abgearbeitet
worden ist...

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren