Forum: Mikrocontroller und Digitale Elektronik Schreibweise Timer in C


von Flo F. (Gast)


Lesenswert?

Hallo zusammen,
bin grad total verwirrt.

Komme gerade bei den Schreibweisen durcheinander.
Wo ist der Unterschied bei

TCCR1B |= (1<<CS01);
TCCR1B = (1<<CS01);

Blicks grad nicht. Aber an der LED seh ich ja den Frequenzunterschied.
Wobei beides Prescaler 8 sein soll.

Grüße

von Düsendieb (Gast)


Lesenswert?

da ist kein Unterschied, aber die erste Schreibweise odert noch das Bit 
CS01 dazu

von Michael W. (michael87)


Lesenswert?

Hallo Flo,

genauer gesagt:

wenn du mit
TCCR1B = (1<<CS01);

arbeitest, überschreibst du das gesamte Register und setzt NUR die 1 in 
CS01

mit
TCCR1B |= (1<<CS01);
setzt du ZUSÄTZLICH das CS01-Bit, alle anderen gesetzten und ungesetzten 
Bit bleiben unberührt

MFG

von Wayne (Gast)


Lesenswert?

Das erste
TCCR1B |= (1<<CS01);
entspricht
TCCR1B = TCCR1B | (1<<CS01);
Das zweite
TCCR1B = (1<<CS01);
überschreibt das komplette Regsiter.

von Flo F. (Gast)


Lesenswert?

Alles klar,

vielen Dank.

grüße

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.