Es gibt keine "berechnete defines". Der Präprozessor rechnet nichts aus (*), sondern macht nur Textersetzungen. Wenn duschreibst, dann wird nur im Source überall "CLOCK" durch "(F_CPU / BAUDRATE * 100)" ersetzt. Die Berechnung macht der Compiler.Code:#define CLOCK (F_CPU / BAUDRATE * 100)
(*): Mit einer Ausnahme, wenn er selber das Ergebnis braucht für #if oder #elif. Die einzige Möglichkeit, sich da was anzeigen zu lassen, ist daher sowas:
Code:#if CLOCK == 42 # warning "CLOCK ist 42" #elif CLOCK > 666 # warning "CLOCK ist teuflisch groß" ...
Lesezeichen