Tiny26 timer

Gast #139335
Lesenswert?
• ▲
▼
Hallo,

ich beschäftige mich grad mit dem Tiny26 und habe da ein kleines
Problem.
Ich habe den internen Oszillator auf 4Mhz eingestellt.

Jetzt brauche ich einen Timer mit 10µsec.
Wie berechne ich den Wert für das TCNT0 Register unter der
Berücksichtigung des Vorteilers.
Dass ich danach noch ne Kalibrierung mit dem OSCCAL Register
durchführen muss ist mir klar...

Gruss und Danke,
Georg.
Gast #139336
Lesenswert?
• ▲
▼
Wieviel Takte muss der Tiny26 in den 10µs machen? 40?

Willst du alle 10µs einen Timer0-Überlauf-Int?
Dann wäre Vorteiler schonmal 1:1.
TCNT0 musst du dann in der ISR auf 40 vor Überlauf stellen, plus die
Anzahl der Takte, die seit dem Überlauf vergangen sind (um die 7),
besser ist es tcnt0 einzulesen, den Reload-Wert+2 (oder +3?) zu
addieren und zurück zu schreiben.

Allerdings ist dein AVR dann schon ganz schön ausgelastet, denn für
Aufruf und Rücksprung gehen schonmal um die 10 Takte drauf, dann SREG
sichern und wiederherstellen, Timer reloaden, und dann noch das, was du
eigentlich tun möchtest, das könnte arg eng werden.

...
Gast #139337
Lesenswert?
• ▲
▼
hi,

hmm...
auf 40 hatte ich es schon...

ich brauche eigentlich ein PWM signal mit 20msec Amplitudendauer und
mit einem pos signal von 1msec bis 2msec. In einer recht guten
auflösung z.B. 10µsec. Zur Ansteurung eines Servos...

Da ter Tiny aber nur pwm-signale ab 20kHz erzeugt wollte ich es so
lösen...

Habt ihr ne andere idee?

Gruss und Danke,
Georg.

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