Wie kann ich Variablen, die während der Compilierung vom Compiler berechnet werden anzeigen. Ich bin der Meinung, das ich früher mal eine Anweisung in den Code geschrieben habe, die mir sowas bei der compilierung auf die Kommandozeile ausgeben konnte. irgenwie so... #define F_CPU = 8000000ul #define prescaler_timer0 64 #define t0_ints_per_second 1000 OCR0A = F_CPU prescaler_timer0 t0_ints_per_second; //echo $$OCR0A ??
normale Strings kannst Du mit #warning "TestString" ausgeben. Wie Du aber an den Inhalt Compiler-definierter Variablen kommst weiss ich auch nicht.
Bei der Zeile "OCR0A = F_CPU prescaler_timer0 t0_ints_per_second;" weist erst der Prozessor der Variablen OCR0A (bzw. diesem SFR) den vom Compiler berechneten Wert zu, wenn das Programm ausgeführt wird. Man könnte daran denken zu schreiben (wie Karsten Brandt richtig anmerkte) #define XXX (F_CPU prescaler_timer0 t0_ints_per_second) #warning XXX aber das funktioniert so nicht, da dabei einfach warning: #warning xxx angezeigt wird, d.h. der Wert ist zu diesem Zeitpunkt nicht berechnet. Offensichtlich wird der Wert auch nicht vom Präprozessor berechnet (der ja nur diverse Textersetzungen durchführt), sondern erst vom Compiler, und das kommt wohl zu spät, da die Zeile "#warning XXX" ja eine Präprozessor-Anweisung ist. Vielleicht weiß jemand, wie man den Präprozesor dazu bringen kann, den Wert zu berechnen, oder den Compiler, zu einem späteren Zeitpunkt den berechneten Wert doch noch auszugeben?
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.