Forum: Compiler & IDEs Prototype für ISR-Handler


von müllo (Gast)


Lesenswert?

Hallo,

ich habe mir engwöhnt, auch bei kleineren Quelltexten die Funktionen
vor main() per Prototype zu deklarieren.
Wie kann ich eine ISR-Funktion -> SIGNAL(SIG_ADC) per Protype
festlegen? "void SIGNAL(int);" bringt eine Fehlermeldung.

Viele Grüße
T.Müller

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Im Prinzip müsste

SIGNAL(SIG_ADC);

tun, aber eigentlich ist das sinnlos.  Wenn du nämlich mal in den
SIGNAL-Makro reinguckst wirst du feststellen, dass dieser intern
selbst eine Prototypendeklaration generiert (die für die Wirkungsweise
zwingend notwendig ist, weil man nur so das _attribute_ setzen
kann).  Da diese Funktion außerdem von niemandem direkt gerufen wird,
braucht der Compiler deren Prototyp ansonsten absolut nicht -- egal,
wohin du den Handler schreibst.

von müllo (Gast)


Lesenswert?

Vielen Dank für die immer wieder schnellen Antworten. Möchte endlich mal
weg von 2 mal DINA4-großen Quelltexten und versuche gerade ein Projekt
aus 4 Modulen (ADC, PWM, UART und Digital I/O) und externe
Deklarationen über Headerdateien zu proggen.

Vielen Dank und viele Grüße

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.