Benedikt K. schrieb:
> Kann man mit dem Präprozessor irgendwie abfragen, ob eine Variable
> existiert?
Nein, der Präprozessor kennt keine Variablen, die kennt erst der
Compiler.
> Also quasi sowas in der Art:
>
1 | > #if exists (PORTA)
|
2 | > PORTA=0xFF;
|
3 | > #endif
|
4 | >
|
5 | > #if exists (PORTB)
|
6 | > PORTB=0xFF;
|
7 | > #endif
|
8 | >
|
Das geht, zumindest beim AVR-GCC/avr-libc, da hier PORTA usw. als
Präprozessor-Makros realisiert sind. Ist allerdings leider nicht
portabel zu anderen Compilern, zumindest vom IAR weiß ich, dass er
die Definitionen der Ports nicht auf Präprozessor-Ebene macht.
1 | #ifdef PORTA
|
2 | ...
|
3 | #endif
|
4 |
|
5 | /* bzw. */
|
6 |
|
7 | #if defined(PORTA)
|
8 | ...
|
9 | #endif
|