Forum: Mikrocontroller und Digitale Elektronik nochmal c frage...


von Markus (Gast)


Lesenswert?

also ich möchte gerne ein port ausmaskieren.
d.h ich will die oberen 4 bits schreiben und vier unteren so belassen 
wie sie sind.
wenn ich das mit UND und ODER mache werden die unteren immer mit 
verändert..kann mir jemand einen tip geben?

von Uwe Arends (Gast)


Lesenswert?

Wert vom Port einlesen
mit 0x0F verunden
mit zu setzenden Bits verodern
Wert zum Port schreiben

von Rainer (Gast)


Lesenswert?

PORT = (PORT & 0x0F) | (WERT & 0xF0);

von Andreas (Gast)


Lesenswert?

So wie das vorgeschlagen wurde, kann das böse ins Auge gehen.
Wenn sich ein Portbit nämlich direkt nach dem Einlesen ändert. bist Du 
schon angeschmiert.

Falls Du den 8051 verwendest, kannst Du einzelne Bits mit setb setzen. 
Damit kann dann nichts schiefgehen.

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.