Hallo Ich habe eine Header-File für eine MCU Familie geschrieben. Leider liegen bei einigen Modellen die MMRs unterschiedlich. Ich habe das ganze so gelöst, dass man mit einem Compilersymbol den aktiven Controller auswählen kann. Ist kein Controller per Symbol aktiviert, soll eine Fehlermeldung angezeigt werden. Im Moment mache ich das so: [...] #ifndef ADUC7033 #ifndef ADUC7034 #ifndef ADUC7128 #ifndef ADUC7129 #error Please define MCU type with -DADUC7xxx, where xxx represents the exact model type. #endif #endif #endif #endif [...] Das ganze sieht nicht sonderlich schön aus. Kann man das besser machen? Ich habe leider nichts gefunden. #ifdef (!ADUC7033 && !ADUC7034 ...... funktioniert leider nicht.
Danke, so gehts.
1 | * Check MCU type is set */ |
2 | #if ! defined(ADUC7019) && ! defined(ADUC7020) && ! defined(ADUC7021) && ! defined(ADUC7022) && \
|
3 | ! defined(ADUC7023) && ! defined(ADUC7024) && ! defined(ADUC7025) && ! defined(ADUC7026) && \
|
4 | ! defined(ADUC7027) && ! defined(ADUC7028) && ! defined(ADUC7032) && ! defined(ADUC7033) && \
|
5 | ! defined(ADUC7034) && ! defined(ADUC7128) && ! defined(ADUC7129)
|
6 | |
7 | #error Please define MCU type with -DADUC7xxx, where xxx represents the exact model type.
|
8 | #endif
|
Bin da hängen geblieben, weil man am Zeilenende ein Backslash setzen muss, da anscheinend Compiler-Anweisungen am Zeilenende aufhören.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.