Forum: Mikrocontroller und Digitale Elektronik IAR Compiler Anweisungen


von Michael (Gast)


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

von Timo (Gast)


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

von Michael (Gast)


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

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.