Z.B.
(ungetestet)Code:uint8_t maske; maske=0; if(a){maske|=(1<<7);} if(b){maske|=(1<<6);} if(c){maske|=(1<<5);} if(d){maske|=(1<<4);} PORTD&=maske;
Je nach dem wie abcd gesetzt sind, wird die Maske angepasst.
Die Maske ist in dem Beispiel abcd0000 (binär), wobei a,b,c,d jeweils 0 oder 1 sein können.
Sicherlich gibt es elegantere Lösungen.
Wozu möchtest du das verwenden? Je nach Aufgabe kann man das eventuell auch ganz anders lösen.
Lesezeichen