Hallo, bin gerade dabei einen Steppermotor zu betreiben und benutze dafür einen Timeroverflow-Interrupt. Um eine möglichst große Dynamik in den Zeitintervallen zu haben , schalte ich die Clock Select Bits von von Teiler 1 auf Teiler 8 um. Nun meine Frage: Wann wird die Änderung der Clock Select-Bits übernommen, sofort oder erst beim nächsten Überlauf? Im Datenblatt findet man nichts dazu? Danke schonmal im Voraus!
Julian Baugatz schrieb: > Im Datenblatt findet man nichts dazu? Doch, ganz bestimmt; es gibt ja nur einen AVR.
Die zweite Idee wäre, auf den Simulator zu vertrauen und sich anzugucken, was dort passiert. Und als dritte Möglichkeit kann man sich das natürlich auch mit dem Oszi angucken, z.B. indem man per OCR die Umschaltung steuert und sich ein bisschen was zum Gucken auf einen Pin schaltet.
m.n. schrieb: > Julian Baugatz schrieb: >> Im Datenblatt findet man nichts dazu? > > Doch, ganz bestimmt; es gibt ja nur einen AVR. ??? In welchem Datenblatt auf welcher Seite<ß
Julian Baugatz schrieb: >> Doch, ganz bestimmt; es gibt ja nur einen AVR. > In welchem Datenblatt auf welcher Seite< er wollt erstmal wissen welcher AVR - dann es gibt mehre die sich unterschiedlich verhalten können.
Die CS bits werden wahrscheinlich im nächsten Takt wirksam werden. Sie warten nicht bis zum Überlauf - schließlich bestimmen sie den Taktteiler.
werde mal mit einem zweitem Timer prüfen, wieviele Takte ich beim Umschalten gewinne/verliere.
Hi Welche 'Clock Select Bits' meinst du eigentlich genau? MfG Spess
Ich denke er meint die des Timers also die im TCCRB0 o.ä. Register.
Genau! Es geht um den Timer 1 und die CS1X-Bits in TCCRB1-Register.
Hi
>Es geht um den Timer 1 und die CS1X-Bits in TCCRB1-Register.
Die Umschaltung des Taktes für einen Timer erfolgt über einen
Multiplexer, der von den CS-Bits gesteuert wird. Und das erfolgt sofort
beim beschreiben des Registers.
MfG Spess
Kapitel 17.2 des Datenblattes beschreibt zudem einen 'Prescaler Reset'.
spess53 schrieb: > Und das erfolgt sofort > beim beschreiben des Registers. Was mich noch interessieren würde, wann genau? Bzw. wann wird der Timer inkreminiert? Vor der Ausführung eines Befehls oder danach.
Hi >Was mich noch interessieren würde, wann genau? Bzw. wann wird der Timer >inkreminiert? Vor der Ausführung eines Befehls oder danach. Was hat denn der Timer mit Befehlen zu tun? Der Timer wird in-/decrementiert wenn der Takt vom Prescaler kommt. MfG Spess
Wenn man den Prescaler neu setzt, stellt sich die Frage ob er im nächsten Takt aktiv wird oder schon im selben. Also ob der Timer vor der Instruktion erhöht wird oder erst danach.
Ein Prescaler-Reset scheint mir nach dem Umschalten der Prescaler-Bits sinnvoll, damit der Prescaler von Vorne anfängt.
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.