Forum: Mikrocontroller und Digitale Elektronik PIC: Bits parallel setzen


von Full W. (realjey)


Lesenswert?

Hallo,

wieder mal ne Anfängerfrage (Info: es handelt sich um den PIC18F2450):

wenn ich schreibe

portd=0x01;

werden doch alle d-Bits (also portd.7 bis portd.0) PARALLEL auf 00000001 
gesetzt, richtig?

Ich würde nun gerne nur portd.1 und portd.0 gleichzeitig setzten, also 
NICHT nach einnander durch:

portd.1=0;
portd.0=1;

sondern durch eine

portb= -Anweisung

dabei aber alle anderen Bits (portd.7 bis portd.2) des d-Ports 
unangetastet lassen.

Wie kann ich das syntaktisch lösen?

THX for RE

von Oliver J. (skriptkiddy)


Lesenswert?

portd|=(1<<0)|(1<<1)|(1<<7);
Setzt das 0., das 1. und das 7. Bit am Portd.

portd&=~((1<<0)|(1<<1)|(1<<7));
Löscht diese bits wieder.

von Full W. (realjey)


Lesenswert?

klappt, danke!

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.