
Zitat von
oberallgeier
Der Grund, warum der falsche Code vom Compiler nicht angemeckert wird, ist mir noch nicht klar. Der ist aber auch weniger wichtig, als die Antwort auf die Frage, warum der ausführbare Code a) läuft und b) in der inkorrekten Variante zu einer längeren Einschaltdauer des betreffenden Pinns führt.
Das hat doch GeoBot eigentlich schon erklärt.
Das Schreiben einer 1 nach PINx toggelt den Ausgang (nicht bei allen AVRs, nur bei "neueren") , eine 0 hat keine Auswirkung.
Einmal Toggeln pro Schleifendurchlauf => halbe Frequenz mit 50% Duty-Cycle
Und warum bitte sollte der falsche Code vom Compiler angemeckert werden?
Falls sich das auf das MCU-define bezieht, das ist eh völlig ohne Funktion. Da hättest du auch schreiben können:
Code:
#define MCU WirdGarNichtVerwendet
Lesezeichen