-
-
Erfahrener Benutzer
Robotik Einstein
wenn dann solltest du statt == besser >= verwenden, wenn du mal aus welchen gründen auch immer den moment verpasst, wo wert == 100 ist zählt er sich dusselig ^^
also anch meiner rechnung, läuft dein timer 39.53694332 mal in der sekunde über, d.h. dein wert wird knapp 40 mal in der sekunde inkrementiert, d.h. wenn ud wartest, bis wert 100 erreicht sind mehr als 2 sekunden vergangen!
irgendetwas stimmt mit deiner berechnung nicht!
PS: 10Mhz ist ne wirklich ungünstige Frequenz
10Mhz / 1024 = 9765.625 Takte / Sekunde
10Mhz / 265 = 39062,5 (könnte gehen)
10 / 64 = 156250 (ginge aber das werden viiiiele überläufe werden)
156250 / 256 = 610.35156... (zu krumm)
156250 / 250 = 625 (exakt, aber 16bit wert nicht mehr 8bit)
und statt den counter immer vorzuladen, würde ich besser (falls du den output-compare nicht brauchst) den CTC modus mit dem OCR0 register als TOP nehmen und in das OCR0 einfach 250 schreiben, so sparst dir die rechenzeit für das laden des counters
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
-
Foren-Regeln
Lesezeichen