Überlaufprobleme umgehen

Direkte Programmierung => arbeiten mit Registern ohne das Arduino Framework.

Taster sollten nicht unbedingt an Interrupts angeschlossen werden, da die Interrupts dafür viel zu schade sind. (Der Interrupt Kontroller würde sich langweilen ;-))

So programmiert man Mikrocontroller allgemein/direkt, ohne Framework:

//2 Pins als Ausgang deklarieren und einen als Eingang 
DDRA = 0b00000011; // 6 Eingänge 2 Ausgänge

//den ersten Pin auf "High" setzen
PORTA |= (1 << PA0);
//den gleichen Pin auf "Low" setzen
PORTA &= ~(1 << PA0);

//überprüfen ob der Eingang gesetzt ist
if(PINA2) {
  //Ausgang setzen
  PORTA |= (1 << PA1);
} else {
  PORTA &= ~(1 << PA1);
}