Es sollte heissen
PORTB &=~ (1<<PB0) & ~(1<<PB1);
Deine zweite Lösung hat aber einige Vorteile (kürzer, schneller und atomar), setzt die Ports allerdings nacheinander.
hallo,
also folgendes ich hab in meinem programm zwei ausgänge und möchte diese zusammen löschen.
PORTB &=~ (1<<PB0)&(1<<PB1);
nur leider löscht er nur PB0. das kapier ich irgendwie nicht. denn das geht doch normalerweiße so wie es oben steht. jetz hab ich kurz umgeformt
PORTB &=~(1<<PB0); PORTB &=~(1<<PB1);
nun funktionierts. aber ich kann mir das einfach nicht erklären.
mfg franz
Es sollte heissen
PORTB &=~ (1<<PB0) & ~(1<<PB1);
Deine zweite Lösung hat aber einige Vorteile (kürzer, schneller und atomar), setzt die Ports allerdings nacheinander.
Disclaimer: none. Sue me.
Man könnte auch folgendes schreiben, was ich persönlich übersichtlicher finde:
PORTB &= ~( (1<<PB0) | (1<<PB1) )
@Pascal: Dem würde ich mich anschliessen. C hat eh' den schlechten Ruf, daß er für ungeübte schlecht lesbar ist.
"Alle Dateien nicht löschen ? Enter J/N"
mfg robert
Wer glaubt zu wissen, muß wissen, er glaubt.
Lesezeichen