[POSTEDIT]ARRGH mein fehler alten Post gelöscht
Der Präprozessor kann garnicht rechnen!!!
er ersetzt nur den Ausdruck vorne durch den Ausdruck hinten
jetzt hab ich mich aber aufs Glatteis führen lassen!
wenn du im Programm irgendwo den ausdruck
LadewertTimer0
schreibst, wird der stumpf durch den Ausdruck
(256-((F_CPU/1024)/Systemtakt))
ersetzt, logischerweise kommt da bei
LadewertTimer0 == 112 ein Falsch raus!
LadewertTimer0 == (256-((F_CPU/1024)/Systemtakt)) würde ein Wahr ergeben
Der Präprozessor ist nur dafür da, dass du deinen Quelltext selber besser lesen kannst und der Compiler ihn noch verstehen kann. Der Präprozessor entfernt alle whitespaces und newlines aus dem Text, ersetzt alle definierten Symbole durch die Ausdrücke die du festgelegt hast (dazu zählt auch #include, die Dateien werden deinem Include entsprechend einfach zu einer großen Textdatei zusammengesetzt) und gibt dann den Ergebnistext an den Compiler! Der Präprozessor macht nur tExtarbeit und rechnet nicht! Er vergleicht bei #if nur ob der Textinhalt derselbe ist nicht den Wert
Lesezeichen