Es kommt noch mehr dazu. Ein ISR-Prolog/Epilog ist wesentlich länger, als ein normaler Funktions-Prolog, zumal wenn in der ISR eine Funktion aufgerufen wird.
Ursprünglich geplant war so was:
Aber in INT1 sehe ich nicht, ob ich von 0 oder von 1 komme. Ich hatte geplant, das USR-Bit zu verwenden, aber das geht auch nicht, weil die ISRs selbst in einer ISR "scharf gemacht werden", und im Epilog natürlich wieder das SREG hergestellt wird.Code:void __attribute__ ((naked)) SIG_INTERRUPT0() { // fallthru } SIGNAL (SIG_INTERRUPT1) { // serve ISR }
Lesezeichen