Gast
#1854922
Hallo Welt, ist es möglich im GCC #defines zusammenzusetzen? Der Plan:
1 | |
2 | |
3 | |
4 | |
Wie kann ich IOSET und LED1_PORT zu IOSET0 verknüpfen?
|
Anzeige
|
#define zusammensetzen
Gast
#1854922
Hallo Welt, ist es möglich im GCC #defines zusammenzusetzen? Der Plan:
Wie kann ich IOSET und LED1_PORT zu IOSET0 verknüpfen? Bitte WAS wollst du? Beschreib mal dein Problem genauer, sonst kann und will dir hier sicher niemand helfen... MfG Marius
Gast
#1854933
Meinst du sowas?
ja, das geht.
Gast
#1854936
Ok, ich versuchs mal anders
Wie muss ??? aussehen, damit später im Code "ZUSAMMEN" durch "TEST123" ersetzt wird? Ziel ist es wie oben beschrieben, Ports vom LPC2xxx komfortabel zu configurieren. Es wird ja immer wieder die Portnummer benötigt (IOSET0, IOCLR0, etc)
Gast
#1854938
sebastians schrieb: > Meinst du sowas?#define LED1_PORT PORTA > #define LED1_PIN 5 /* Eine Zahl <= 7 */ > > #define LED1_ON LED1_PORT |= (1<<LED1_PIN) > ja, das geht. Naja fast, jetzt gilt es noch PORT und A zu trennen da beim LPC die Zugriffe getrennt via IOSET(Portnummer) und IOCLR(Portnummer) stattfinden. Dann kommt noch die Datenrichtung mit IODIR(Portnummer) hinzu. Mit dem Präprozoroperator ## Dazu gibt es hier etliche Artikel, siehe auch das C-Buch deines Vertrauens Eigentlich sollte sich in jedem C-Buch was zu Token-Concatenation bzw. Token-Pasting finden.
Hier steht auch, warum es zwei Makro-Ebenen braucht: http://en.wikipedia.org/wiki/C_preprocessor#Token_concatenation Andreas
Gast
#1854950
Klaus Wachtler schrieb: > Mit dem Präprozoroperator ## Also so hier?
Gast
#1854952
Max schrieb: > Klaus Wachtler schrieb: >> Mit dem Präprozoroperator ## > > Also so hier?#ZUSAMMEN VAR2##VAR1 Ups, da fehlt noch das define. Sehe aber gerade oben, dass es doch komplizierter ist. Vielen Dank, schaue ich mir morgen mal an. Nein aber fast. ->C-Buch!
Gast
#1854967
Und nicht wundern, Token-Pasting ist magisch und hat bisweilen die erstaunlichsten Wirkungen :-)
Gast
#1854998
Sven P. schrieb: > Und nicht wundern, Token-Pasting ist magisch und hat bisweilen die > erstaunlichsten Wirkungen :-) Wie meinst Du das? Ist es nicht zu empfehlen? @Andreas Ferber Hab es doch heute noch ausprobiert. Funktioniert prima. Danke! Antwort schreibenBitte melde dich an, um einen Beitrag zu schreiben. |
Anzeige
|