c macre text ersetzen

Gast #7001518
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
Gast #7001524
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)

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.