Zitat Zitat von Thor_ Beitrag anzeigen
Ich lasse am besten den kommentierten Code für sich sprechen:
Code:
if((PIND & (1<<PD7))==1){PORTC=0x00;}		//funktioniert nicht
if((PIND & (1<<PD7))==0){PORTC=0xFF;}		//funktioniert
Falls der Code nicht zu dir spricht: 0b12345678 & 0b10000000 = 0b10000000 und das ist ungleich 1 (0b00000001). Der Fehler besteht darin, dass du auf Gleichheit mit 1 prüfst. Korrekt ist nur die Überprüfung auf Gleichheit mit 0 oder Ungleichheit mit 0.

mfG,
Markus