hallo und erstmal danke für die antwort,

Zitat Zitat von Kaiser-F
Den Widerstand R3 mit 100k kannst Du Dir normalerweise sparen,
Weil Du ja sowieso die internen Pullup-Widerstände des AVRs benutzt.
ok danke

Zitat Zitat von Kaiser-F
Ich will Dir keinesfalls zu nahe treten, sind nur Verbesserungsvorschläge:
Ich würde anstatt:
DDRB |= _BV(LED);
lieber:
DDRB |= (1<<LED);
verwenden.
Ist "standardisierter", und lässt sich von den meisten besser lesen...
ich sehe das nicht als zu nahe treten bin für jeden tipp dankbar

Zitat Zitat von Kaiser-F
Ich denke dein erster Fehler liegt schon in der ersten Zeile:
"if (bit_is_set(PINA, BUTTON))"
"Wenn Button-Pin High ist"
*am kopf hau* ist natürlich falsch ich habs aber nicht gesehen

Zitat Zitat von Kaiser-F
Und ich wette, dass die LED bei manchen Tastenbetätigungen auch AUS ist.



Zitat Zitat von Kaiser-F
if (bit_is_clear(PINA, BUTTON))
kannte ich noch nicht - wieder was gelernt


Zitat Zitat von Kaiser-F
Das gaze ist aber auch kritisch!
Du müsstest die Tastenprellung berücksichtigen.
Mit dem Finger Tippst du zwatr nur einmal auf den taster,
aber der Kontakt prallt ein paar mal hin und her.
Also "Tippt" er ein paar mal mehr.
Daher kann es sein, dass die LED an und gleich wieder aus geht,
ohne dass man es sieht.
die entprellproblematik ist mir bewusst, mir ging es hier rein darum basics zu üben

vielen dank nochmal!