Passauf,
Da liegt der Hund begraben.....4MHz / 1024 / 254 = 65 Hz = ca. 15,4ms
Ich weiß zwar nicht wie Du darauf kommst, aber es soll heißen
4MHz / 1024 / 254 =15,4 Hz = 65 ms![]()
Mithin muß zeahler 15 mal durchlaufen, um etwa eine sekunde zu bekommen.
Ich habe so gerechnet:
1/4000000 = 250 ns -> dauer eines Taktes
bei 1024 Prescaler 250 nS * 1024 = 256 µs
also ein Timerschritt dauert 256 µS
Jetzt heißt es Anzahl der Schritte zu finden, damit man einen schönen Teiler der Sekunde hat.
Ich habe 98 genommen 256µ * 98 = 25,088 ms
Wenn Du das jetzt mit 40 malnimmst bist Du auch bei einer Sekunde.
Also Doch Timing Problem entweder änderst Du in dem jetzigem Code Deine 65 ? in 15 um, oder lädst den Timer mit 98 und zaehler mit 40.
Wie Du siehst gibt es mehrere Wege eine Sekund zu erzeugen....
Ich hoffe, daß es jetzt bei Dir klappt.
P.S. Quarz auf diesem Board ist das kleine Dingen aus Metall unter dem Mega,
auf dem Bild Rechts davon.
Gruß Sebastian
Lesezeichen