Die Zeile "PORTD=(PIND&((1<<T1)|(1<<T2)))<<(LED1-T1);" könnte man etwa so auseinander nehmen:
"PORTD=(PIND&((1<<T1)|(1<<T2)))<<(LED1-T1);" ist einfach nur eine Zusammenfassung davon.Code:unsigned char temp; temp=PIND; //temp hat jetzt den Wert von PIND temp=temp&((1<<T1)|(1<<T2)); //alle bits in temp, ausser T1 und T2 sind auf 0 temp=temp<<(LED1-T1); //verschiebt den Inhalt vom temp um so viele Stellen nach //links, wie LED1 von T1 entfernt ist. In Deinem Fall 3. Der Zustand von T1 ist //jetzt im 5ten bit, der Zustand von T2 in 6ten. Also genau da, wo auch die //beiden LEDs sind PORTD=temp; //Jetzt hat LED1 den Zustand von T1 und LED2 den Zustand von T2
MfG Mark







Zitieren

Lesezeichen