m_herr
12.01.2006, 21:00
Hallo Leute,
habe das forum schon durchsucht, aber scheinbar finde ich den wald vor lauter bäumen nicht.
habe bei einem mega8 und neuester bascom full-version das problem,
daß irgendwie die zeit nicht stimmt.
jetzt bin ich schon so verzweifwelt,daß ich an meiner formel (aus schlauem buch) für die korrekte zeit zweifle
Const Ticks0 = 63
Config Timer0 = Timer , Prescale = 64
If H_flag = 1 Then
Incr H
End If
Timer0_isr:
Load Timer0 , Ticks0 '0,001sek
H_flag = 1
return
erhöht doch variable H alle 0,001sek, oder?
weil bei
if H=500 then display paar sachen
nicht alle 500ms, sondern so alle 666ms was angezeigt wird (jeweils eine minute gemessen, also kein rechenfehler)
timer und adc sind die einzigen interrupts, kein rs232 und keine versteckten waits oder so rekursion etc....einer ne idee?
ist ein 4mhr extern quarz am mega8 in einem professionellen board.
fuses etc stimmen...
besten dank
habe das forum schon durchsucht, aber scheinbar finde ich den wald vor lauter bäumen nicht.
habe bei einem mega8 und neuester bascom full-version das problem,
daß irgendwie die zeit nicht stimmt.
jetzt bin ich schon so verzweifwelt,daß ich an meiner formel (aus schlauem buch) für die korrekte zeit zweifle
Const Ticks0 = 63
Config Timer0 = Timer , Prescale = 64
If H_flag = 1 Then
Incr H
End If
Timer0_isr:
Load Timer0 , Ticks0 '0,001sek
H_flag = 1
return
erhöht doch variable H alle 0,001sek, oder?
weil bei
if H=500 then display paar sachen
nicht alle 500ms, sondern so alle 666ms was angezeigt wird (jeweils eine minute gemessen, also kein rechenfehler)
timer und adc sind die einzigen interrupts, kein rs232 und keine versteckten waits oder so rekursion etc....einer ne idee?
ist ein 4mhr extern quarz am mega8 in einem professionellen board.
fuses etc stimmen...
besten dank