tag, ich habe hier ein merkwürdiges problem (oder ist es kein problem?) also, ich habe beim timer als prescaler 8 eingestellt. d.h. alle 0,512ms müsste ein timerinterrupt passieren (bei einem 4mhz-quarz). nun wollte ich mein programm mit dem dcf-signal synchronisieren und stelle fest, dass mein atmel zwischen zwei sekundenimpulsen ~2930 timerinterrupts zählt. das ist eine ziemliche abweichung vom errechneten wert von 1953 interrupts... kann mir das jemand erklären? hier ein code-auszug: cbyTempB = 0 cdwSekunde = 0 timer0 = 0 cdwTimer0 = 0 cdwTempA = 0 for cbyTempB = 1 to 3 do loop until pinc.3 = 0 do loop until pinc.3 = 1 start TIMER0 do loop until pinc.3 = 0 do loop until pinc.3 = 1 stop TIMER0 cdwSekunde = cdwSekunde + cdwTimer0 cdwSekunde = cdwSekunde / cbyTempB cdwTempA = cdwTempA + 1 next lcd cdwsekunde
... hat sich erledigt... cdwTimer0 und timer0 in der for..next schleife auf 0 setzen, und den durchschnitt der drei messungen ausserhalb der schleife berechnen, und schon erhält man einen cdwTimer0 wert von ~1956... gg gruss gerd
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.