naja.. man darf nicht einfach "if (button_1)" machen. Dieses PIND2 ist
für den Compiler nur "2" ;) ist halt für den Programmierer leichter zu
erkennen, was man damit vor 2-3 Jahren mal meinte.
Du musst mit diesem 2 (oder PIND2) das passende Bit im Input-Register
maskieren.
So:
1 | if(PIND & (1 <<button_1)) {
|
2 | PORTD |= (1<<led_1);
|
3 | } else {
|
4 | PORTD &= ~(1<<led_1);
|
5 | }
|
Bedeutet:
PIND (Eingänge) werden eingelesen und wird mit 0000 0100 maskiert (2x
nach links geshiftete 1). Wenn 100 rauskommt, wars gesetz, wenn nicht,
isses 0 gewesen. Dieses dritte Bit entspricht dann deinem Eingang.