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
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
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.