bascom* komische timer ergebnisse...

Gast #37291
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
Gast #37292
... 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

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 23 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.