Quarz Frequenz Vorzähler Interrupt... Fehler?

Gast #90422
Hallo!

Ich glaube, ich habe einen Fehler in einem Tutorial auf
dieser Domain gefunden.

Seite:
http://www.mikrocontroller.net/articles/c/Uebung_9.htm

Text:
---------------------------------------------------------
Ich habe einen Quarz mit einer Frequenz von 386400 Hz eingesetzt. wenn
nun der Timer 1 mit dem Vorzähler 1 gestartet wird so läuft dieser jede
Minute genau 3375 mal durch. Wir brauchen also lediglich eine
Interruptroutine in den Timer 1 Overflow einzubinden und bei jedem
Aufruf einen Zähler zu inkrementieren. Erreicht dieser Zähler den Wert
3375 so ist eine Minute verstrichen.
---------------------------------------------------------


Der Quarz hat die Frequenz 386400 Hz. Da der Vorzähler 1 ist,
wird der Timer bei jedem Takt um 1 erhöht. Ich gehe davon
aus, dass es ein 8-Bit-Timer ist. Also löst er einen Interrupt
aus, wenn er 256 erreicht hat. Er löst also in einer Sekunde
386400/256 (ungefähr)= 1509 Interrupts aus. In 60 Sekunden,
also in einer Minute löst er also 386400*60/256 = 90562
Interrupts aus und NICHT 3375.
Hab ich da etwas nicht verstanden oder ist das tatsächlich ein
Fehler auf dieser Seite?

Martin
Gast
ohne jetzt genauer zu schauen:
ist bestimmt ein 3,6864MHz-Quarz gemeint, der ist gängig und wird gern
und oft benutzt (UART!). Entweder Tippfehler oder Lesefehler von dir.
Gast
Es war kein Lesefehler. Ich habe es gerade nochmal überprüft und
Diese MHz-Zahl kommt im Tutorial öfter vor, auch in dem
Beispielprogramm.

Mit 3,6864 MHz käme ich aber auch nicht auf den Wert 3375 pro Sekunde:
3686400*60/256 = 864000 (sogar viel größer als 3375)

Martin
Gast
ok, geschaut.
Warum gehst du davon aus, dass ein 8bit-Timer benutzt wird?
Das Programm läuft mit dem Timer1, der ist 16bit.
Aber recht hast du insofern, dassdie Quarzfrequenz nicht korrekt
angegeben ist, im Programm steht es richtig. Wie schon vermutet,
3,6864MHz.
Gast
Achso g

Dann hab ich mich im Programm wohl verlesen. Im Tutorial
sind leider einige Fehler. Ich hab dazu schon was im
Verbesserungsforum geschrieben. Die Idee, das ins
Wiki zu stellen, ist echt gut. Die hatte dort jemand.

Jetzt komme ich endlich auf den richtigen Wert von 3375!
Danke!

Martin

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 22 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.