Warum nicht einfach aus der ISR jeweils dieselbe Funktion aufrufen:
Unterm Strich sorgt das Makro SIGNAL nur dafür, dass ein entsprechendes GCC __attribute(signal) hinter die Funktionsdefinition gesetzt wird, was den Compiler anweist, die Adresse der Funktion in der Interruptvektortabelle zu hinterlegen. Das einizige, was hier hinzu kommt, ist ein weiterer Funktionsaufruf.Code:SIGNAL( SIG_INTERRUPT0 ) { serveISR(); } SIGNAL( SIG_INTERRUPT1 ) { serveISR(); } void serveISR() { }
Lesezeichen