Zitat:
int main(void)
{
...
//Interrupt-Routine wird defeniert
GIMSK = (1<<PCIE0); // Bank0 wird eingeschaltet (PA0-PA7) // BANK1 beinhaltet PB0-PB3
PCMSK0 = (1<<PCINT4)|(1<<PCINT5); // PCINT4(PA4) und PCINT5(PA5) könnte Interrupt auslösen
sei(); // Interrupt´s werden gestartet und laufen im Hintergrund
while(1) // alternativ SLEEP-Mode
...
}
ISR (PCINT0_vect) // Interrupt, aus Bank0, wird ausgelöst
{
//vorerst ohne Tastenentprellung und altem Tastenzustands-Vergleich
if ((PINA & (1<<PINA4)) == 1) // wenn EIN-Taster=1
{
LEDein;
}
if ((PINA & (1<<PINA5)) == 1) // wenn AUS-Taster=1
{
LEDaus;
}}