Zitat Zitat von Ceos Beitrag anzeigen
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
Das stimmt nicht.
Er rechnet nicht in Bezug auf das Verändern des C-Codes, da ersetzt er nur stumpf.
Er rechnet aber sehr wohl innerhalb seines eigenen Gültigkeitsbereichs, also in einer #if-Zeile.

Das Beispiel im Ursprungsbeitrag scheitert einzig und alleine daran, dass das "LaderwertTimer0" in der #if-Zeile falsch geschrieben ist.