Forum: Mikrocontroller und Digitale Elektronik C Syntax Bitoperatoren


von Jan (Gast)


Lesenswert?

Hallo Freunde (;

kurze Frage! Was mir nicht ganz klar ist...

& = UND
| = ODER

1
TCCR1B = (1<<CS02) | (0<<CS01) | (0<<CS00); // Clock Select Register

heißt das in diesem Code nicht UND ? oder verstehe ich das falsch?

(Mod.: Code-Tags korrigiert)

: Verschoben durch Moderator
von versteher (Gast)


Lesenswert?

HÄ ?

von Jan (Gast)


Lesenswert?

sorry :D bisschen unverständlich :D

also was ich meine...

in meinem Codebeispiel steht doch das ich alle 3 Register beschreiben 
will...

das sage ich z.B mit ... Register 1 | Register 2 |... usw...

aber der Tiefstricht bedeutet doch "Oder" oder sehe ich was falsch?

normaler weiße müsste es doch

Register 1 & Register 2 &... usw heißen oder ?

von Cyblord -. (cyblord)


Lesenswert?

Jan schrieb:
> Hallo Freunde (;
>
> kurze Frage! Was mir nicht ganz klar ist...
>
> & = UND
> | = ODER
>
>
> [c]TCCR1B = (1<<CS02) | (0<<CS01) | (0<<CS00); // Clock Select
> Register[c]
>
> heißt das in diesem Code nicht UND ?
Nein

> oder verstehe ich das falsch?
Ja.

Die Bits sollen gesetzt werden, darum werden sie Verodert. Rechne doch 
mal aufm Papier nach. Wäre schneller gegangen als hier nen sinnlosen 
Thread aufzumachen.

Und Konstruke wie (0<<CS01) sind absolut sinnlos. Sie werden von 
Anfängern falsch verwendet die keinen Plan haben und von möchtegern 
Profis um zu dokumentieren dass ein Bit nicht gesetzt wird. Also absolut 
nichts getan wird. Großes Kino.

: Bearbeitet durch User
von Jan (Gast)


Lesenswert?

es gibt auch viele Leute die im Internet ne ziemlich große Klappe haben 
;)

von Cyblord -. (cyblord)


Lesenswert?

> in meinem Codebeispiel steht doch das ich alle 3 Register beschreiben
Das sind keine Register. Du setzt einzelne Bits in EINEM Register.

Die Bits werden durch ihre Bitmaske repräsentiert, welche aus der 
Bitnummer und einem Shift erzeugt wird (1<<NR).

Und du musst verordern um ein Bit zu setzen. Darum das ODER (= PIPE).

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.