Timerproblem

Gast #48313
Hi Leute,

ich hab da ein kleines Verständnisproblem mit dem Timer 0:

Das Proggi läuft auf dem STK500mit 3.69 MHz Taktfrequenz.
Für Timer0 ist ein Vorteiler von 1 eingestellt, also Systemtakt.
Dementsprechend wird als TCNT0 alle 1/3.69MHz = 0.271 us erhoeht.
Der Timer laeuft von 155 - 255, also 100 Counts.
Also muesste alle 100*0.271us = 27.1 us ein Overflow auftreten.
In diesem Interrupt toggle ich einen Ausgangspin, der muesste also mit
einer Frequenz von 1/27.1us = 36.9 kHz schalten. Oder ?
Laut meinem Oszi habe ich aber eine Rechteckspannung mit einer Frequenz
von 16.799 kHz.
Kann mir das mal einer erklären ?



Greetings
Karlheinz
Angehängte Dateien:
Gast #48315
Naja, ich habe ein digitales Speicher (tds 1012), das berechnet die
Frequenz und zeigt sie an
wie kommst du denn auf 18.45 ? wo iste denn mein denkfehler ?
#48316
Wenn Du den Pin toggelst, dann dauert eine Periode ja 2 Interrupts, also
18,45kHz.

Der restliche Fehler liegt wohl darin, daß Du das Reload nicht mit
einer Addition machst, d.h. die Interruptbehandlungszeit unter den
Tisch fallen läßt.


Peter

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.