Forum: Mikrocontroller und Digitale Elektronik Ein Makro für DDRX, PORTX, PINX?


von gissi (Gast)


Lesenswert?

hallo,

ist es irgendwie möglich anstelle drei Makros für die drei Register nur 
eins zu benutzen und dann die drei Register daraus zusammenzubauen?

#define LCD_PORT C

dann möchte ich z.B.
DDR[LCD_PORT] = 0xFF;
aufrufen.

von Christian (Gast)


Lesenswert?

#define LCD_PORT C
#define CONCAT(x,y) x ## y
#define DDR(x)  CONCAT(DDR,x)
#define PORT(x) CONCAT(PORT,x)
#define PIN(x)  CONCAT(PIN,x)

Dann macht der Präprozessor aus DDR(LCD_PORT) DDRC usw.

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.