Zitat Zitat von Ceos Beitrag anzeigen
Mein Hintergedanke hier ist die effizienz, wenn alle Vektoren auf die gleiche Methode zeigen sparst du dir eine Runde Stack Push/Pop und den MEthodenaufruf der handleISR(uint8_t src) was bei gaaaanz schnellen applikationen bedeutsam sein kann
Tatsächlich gehts bei mir nicht um "Leben oder Tot" im us-Takt. Bei Geschwindigkeiten denke ich auf ms-Niveau.
Mir geht es vielmehr darum, einen sicheren einfachen Code zu schreiben, den ich nach einer Monats-Pause immer noch verstehe.

Zitat Zitat von Ceos Beitrag anzeigen
bei ARM controllern gibt es meistens nicht genug vektoren für alle interrupts und dort werden i.d.R. die vektoren zusammengefast und nur ein handler aufgerufen, in welchem du dann über die interrupt flag register die quelle ausfindig machen muss
Der ATtiny84 ist bei seiner Interruptvielfalt äußerst überschaubar.

Vielleicht ist die folgenden Routine auch völlig ok und kein bischen zu aufgebläht?
Code:
ISR (PCINT0_vect) // Interrupt, ABFRAGE, aus Bank0, wird ausgelöst
{
if ((PINA & (1<<PINA2)) != 0)	// Taster "Reset" =1
{
  // hier kommt eine Entprellung rein
   ResetTaste_on();
}
  if ((PINA & (1<<PINA2)) == 0) // Taster "Reset" =0
  {
// hier kommt eine Entprellung rein
ResetTaste_off();
}
  if ((PINA & (1<PINA3)) != 0)
  //usw.
  //bis alle 4 Taster/Kontakte nach einem Interrupt auf hi/low abgefragt sind

}