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!
Gast
#2389086
Julian Baugatz schrieb: > Im Datenblatt findet man nichts dazu? Doch, ganz bestimmt; es gibt ja nur einen AVR.
Gast
#2389113
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<ß
Gast
#2389161
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.
War etwas unverständlich, ist ein Mega 168!
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.
Gast
#2389456
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.
Gast
#2389694
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
Gast
#2389753
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.
Gast
#2389964
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.
Antwort schreiben
Bitte melde dich an, um einen Beitrag zu schreiben.