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.