Forum: Compiler & IDEs PIN0 vereinfacht setzen/rücksetzen


von Andi S. (laserandi)


Lesenswert?

Hallo Forum,
ist so eine Vereinfachung zum setzen/rücksetzen von PIN0 an PORT B 
zulässig:

Üblich:
PORTB &= ~(1<<0);
PORTB |= (1<<0);

Vereinfacht:
PORTB |= 1;
PORTB &= ~1;

Gefunden in einem Arduino Programm, welches zu funktionieren scheint.

Gruß
Andi

von Trolldetektor (Gast)


Lesenswert?

Lerne C

von Helfer (Gast)


Lesenswert?

Wie du leicht rechnen kannst, ist das Ergebnis dieser konstanten 
Ausdrücke identisch. Als "Vereinfachung" sehe ich das nicht, mir ist der 
Ausdruck mit dem "shift right operator" geläufiger und ich sehe viel 
einfacher, welcher Pin gemeint ist. Mach das ganze mal mit Pin5 und du 
siehst rasch, was ich meine...

von Helfer (Gast)


Lesenswert?

err. shift left

von Andi S. (laserandi)


Lesenswert?

Danke Helfer. Jetzt verstehe ich es.
Vereinfachung ist vielleicht der falsche Ausdruck- Verkürzung wäre 
passender gewesen.

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.