IAR Compiler Anweisungen

Gast #263230
Lesenswert?

Angenommen ich habe irgendwo im Quellcode z.B. ein
        #define HALLO 5

Gibt es jetzt eine Compileranweisung ähnlich #ifdef um zu fragen, wie
groß HALLO ist. Also irgendwie so
#if (HALLO > 5)
#define HERBERT
#endif


Ich hoffe ihr versteht was ich meine.


Vielen Dank für eure Antwort
Michael
Gast #263231
Lesenswert?

Du kannst die Abfrage ganz genau so durchführen.

Hier ein kurzes Beispiel wie man die Compilerdirektiven nutzen kann:

#if ((UART_BAUDRATE == 4800)||(UART_BAUDRATE == 9600)||(UART_BAUDRATE
== 19200)||(UART_BAUDRATE == 115200))
  #define UART_DIVISOR_LOW
_GET_LOW_BYTE(((XOS2C_CLKIN_KHZ*OS2C_PLL_MULTIPLIER*1000)/OS2C_SYSCLR_DI 
VIDER)/(16*UART_BAUDRATE))
  #define UART_DIVISOR_HIGH
_GET_HIGH_BYTE(((XOS2C_CLKIN_KHZ*OS2C_PLL_MULTIPLIER*1000)/OS2C_SYSCLR_D 
IVIDER)/(16*UART_BAUDRATE))

#else
  #error !! wrong baudrate for UART !!
#endif
Gast #263232
Lesenswert?

Vielen Dank!

Und dann hätte ich noch eine Frage, wenn ich mir mit #define ein Makro
definiert habe, wie kann ich dann innerhalb dieses Makros dann
Compileranweisungen machen. Bei mir geht das nämlich leider nciht.

Gruß
Michael

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren