Forum: PC-Programmierung c macre text ersetzen


von Jens (Gast)


Lesenswert?

Hallo zusammen,

ich habe beispielsweise folgende 2 Defines:
1
#define DBGLED_PORT      GPIOC
2
#define DBGLED_GPIOCLK   RCC_AHB1Periph_GPIOC

Nun möchte ich mir das zweite Define ersparen und durch ein eigenes - 
allgemeingültiges - Makro ersetzen welches mir aus "DBGLED_PORT" ein 
"RCC_AHB1Periph_GPIOC" macht.

Z.B.
1
gpioport = DBGLED_PORT;          // GPIOC
2
gpioclk = CLOCK_OF(DBGLED_PORT); // RCC_AHB1Periph_GPIOC

Es gibt sicher eine einfache Lösung, vielleicht kann sie einer von Euch 
aus dem Stehgreif.

Danke,
Jens

von A. S. (Gast)


Lesenswert?

> Es gibt sicher eine einfache Lösung

Das = weglassen ;-)
1
#define DBGLED_PORT         GPIOC
2
#define DBGLED_GPIOCLK_1(P) RCC_AHB1Periph_ ##P
3
#define DBGLED_GPIOCLK      DBGLED_GPIOCLK_1(DBGLED_PORT)

(Wobei Du eine glücklichere Benamung des Helper-Defines xxx_1 haben 
mögest)

von Jens (Gast)


Lesenswert?

okay, vielen Dank!

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.