Der Unterschied besteht darin, das eine INTERRUPT Routine unterbrochen werden kann, während die SIGNAL Routine erst komplett abgearbeitet wird. Im Zweifelsfall sollte man aber immer SIGNAL nehmen, da zum Beispiel INTERRUPT in Zusammenhang mit dem UART Empfang zu einigen Lustigen Fehlern bzw. Stack überlaufen führen kann.

Die Bezeichnung ist vielleicht etwas ungünstig Gewählt, da man zuerst denkt man sollte die INTERRUPT Routine benutzen ( Ging mir auch zuerst so )

Und eigentlich steht das in der Dokumentation genau so drinnen , ist nur vielleicht nicht so schnell zu erkennen...

#define INTERRUPT ( signame )

Introduces an interrupt handler function that runs with global interrupts initially enabled. This allows interrupt handlers to be interrupted.

bzw. :

#define SIGNAL ( signame )

Introduces an interrupt handler function that runs with global interrupts initially disabled.

( Ist aus der Lib C Doku unter "Interrupts and Signals" )

MfG Kjion