Gast
#3264843
Hallo! ich versuche gerade mir mit ein paar geschickten Makros das Leben zu vereinfachen. - Dabei bin ich aber gerade auf ein Problem gestoßen. Unter der Verwendung des GLUE-Operators (##) wollte ich mir ein paar generische Makros schreiben um auf entsprechende Register zuzugreifen. Das Problem: Ein define Wert lautet zum Beispiel
1 | |
2 | |
Beim kompilieren bekam ich eine Fehlermeldung, dass es REGISTER_ nicht gibt. Die Ursache,liegt darin, dass UART1 im Prozessorheaderfile als Struktur definiert ist. (Das Makro funktioniert ansonsten REGISTER(BLA) ergibt REGISTER_BLA). Gibt es eine Möglichkeit zu verhindern, dass der Preprozessor "PORTB" weiter auflöst sondern als das Wort "PORTB" verwendet, so dass ich "REGISTER_PORTB" erhalte, wenn ich REGISTER(CTRL_PORT) eingebe? Danke & Gruß "Patex" ;)