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.
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. ...
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.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.