Forum: Mikrocontroller und Digitale Elektronik Interrupt-Routine für #defined Peripheral


von Hallodri (Gast)


Lesenswert?

Hallo,

ich möchte in einer Header-Datei per #define bestimmte
Peripherieeinheiten zuweisen.
z.B.
#define READPORT  (*(PORT_t*)(&PORTE))        // (XMega & GCC)

Das funktioniert dann so: READPORT.OUT= 1;
Jetzt brauche ich aber eine Interruptroutine für diesen Port.
Gibt es eine (Präprozessor-)Möglichkeit einen #define ...
für den Int-Namen zu verwenden?

Standardmäßig hieße die Routine:
ISR(TCE1_OVF_vect){...}

Sollte dann so benennbar sein:
ISR(READ_PORT_INT){...} => Der compiler meldet ISR-redefinition
ISR(READ_TIMER_INT){...} => Der compiler meldet ISR-redefinition

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Sieh Dir an, was der Präprozessor aus Deinem Macro macht. Dessen 
Ausgaben bekommst Du mit der gcc-Option -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.