ansonsten siehts gut aus ... was verstehste denn nicht ?Code:if ( PINB & (1<<PINB4) ) // Wenn B4 == 1 dann ... PINB4 durch PB4 ersetzen { PORTD = 0x17; //D0,D1,D2,D4 gesetzt } if ( PINB & (1<<PINB3) ) // Wenn B3 == 1 dann ... siehe oben { PORTD = 0x19; //D0,D1,D4 gesetzt } if (!(PINB & (1<<PINB0)) ) // Wenn B0 == 0 dann ... { PORTD = 0x11; //Standard: D0,D4 gesetzt }
die pins an sich sind mit P(Port)(Nummer) kodiert ... 1<<Pxn verschiebt eine einzelne 1 an die gewünscht position N im register X .... du musst den errrechneten wert natürlich dem PORTx zuweisen damit es wirkt bei PINx ist es genau andersherum due erzeugst die maske mit 1<<Pxn und als ergebnis bekommst du 0 wenn das bit 0 ist oder irgendwas > 0 wenn das bit gesetzt ist.







Zitieren

Lesezeichen