Bei LOW.CKDIV8 war ich mir unsicher - daher hier Dank für die Bestätigung!im 2ten Bild LOW.CKDIV8 ist AN, das heißt deine CPU taktet mit OSC/8 = 1 Mhz, da OSC 8Mhz ist
Aber auch der 2ten Teil deiner Ausführung war in mir ein Wissens-Wackelkandidat, da in div. Fachliteraturen bei einigen Prog F_CPU eingetragen wurde und bei anderen nicht.Die Formel verwendet dann den "Platzhalter" F_CPU wo eigentlich eine Frequenz stehen müsste
Nun hat sich FÄLSCHLICHER WEISE in meinem Kopf Gedanke fest gesetzt, dass die Fuse-Prozessor-Geschweindgkeit nur dann greift, wenn KEIN F_CPU im Prog.code steht.
Dank dir auch hier für deine tolle und einfache Ausführung!!!
Abschließend zu meinem Verständnis: Sollte in Fuse und F_CPU unterschiedliche Frequenzen eingetragen sein, meckert der Compiler nicht, funktioniert auch das Programm im Ablauf, aber berechnete Zeiten werden falsch interpretiert/umbesetzt.
__________________________________________________ _
| Sprache: C | Teensy 3.2 | Arduino 2.x | Status: EwigerAnfaenger |
Der Compiler kennt nur die Infos die du ihm gibst und das ist bestenfalls das F_CPU Makro, die fuses kann dein compiler nicht wissen, das ist eine andere Baustelle
und wenn du falsche Zeiten gibst rennt deine sleep_ms(1000) eben in 1/8tel Sekunden durch statt einer ganzen Sekunde wenn das CKDIV8 nicht an ist
Es gibt 10 Sorten von Menschen: Die einen können binär zählen, die anderen
nicht.
Lesezeichen