Forum: Mikrocontroller und Digitale Elektronik Frage zu Clock Select Bits AVR


von Julian B. (julinho)


Lesenswert?

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!

von m.n. (Gast)


Lesenswert?

Julian Baugatz schrieb:
> Im Datenblatt findet man nichts dazu?

Doch, ganz bestimmt; es gibt ja nur einen AVR.

von Martin (Gast)


Lesenswert?

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.

von Julian B. (julinho)


Lesenswert?

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<ß

von Peter II (Gast)


Lesenswert?

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.

von Julian B. (julinho)


Lesenswert?

War etwas unverständlich, ist ein Mega 168!

von Sam .. (sam1994)


Lesenswert?

Die CS bits werden wahrscheinlich im nächsten Takt wirksam werden. Sie 
warten nicht bis zum Überlauf - schließlich bestimmen sie den 
Taktteiler.

von Julian B. (julinho)


Lesenswert?

werde mal mit einem zweitem Timer prüfen, wieviele Takte ich beim 
Umschalten gewinne/verliere.

von spess53 (Gast)


Lesenswert?

Hi

Welche 'Clock Select Bits' meinst du eigentlich genau?

MfG Spess

von Sam .. (sam1994)


Lesenswert?

Ich denke er meint die des Timers also die im TCCRB0 o.ä. Register.

von Julian B. (julinho)


Lesenswert?

Genau!
Es geht um den Timer 1 und die CS1X-Bits in TCCRB1-Register.

von spess53 (Gast)


Lesenswert?

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

von m.n. (Gast)


Lesenswert?

Kapitel 17.2 des Datenblattes beschreibt zudem einen 'Prescaler Reset'.

von Sam .. (sam1994)


Lesenswert?

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.

von spess53 (Gast)


Lesenswert?

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

von Sam .. (sam1994)


Lesenswert?

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.

von Julian B. (julinho)


Lesenswert?

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