mikrocontroller.net

Forum: Compiler & IDEs Timer richtig einstellen


Autor: Jochen (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich nutze einen 14,745600MHz Clock und möchte mit einem 16 Bit Timer 
einen Interrupt JEDE MILLISEKUNDE auslösen. Wie muss ich den Prescaler 
und das Compare-Register richtig einstellen?!!

Ich glaub ich hab nen dicken Knoten in meinem Gehirn, da ich einfach 
nicht drauf komme, wie ich den Timer einstellen muss.
Ich tu nun schon fast 2 Stunden rum und habe auch schon den AVR Timer 
Calculator 
(http://frank.circleofcurrent.com/cache/avrtimercal..., 
aber ich komm einfach nicht drauf.

Darum bitte ich euch, helft mir weiter!!!

Autor: Jan M. (mueschel)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Der Oszillator hat genau 14745,6 Takte pro Millisekunde.

Stellst du den Timer also auf Prescaler 1 und Compare auf 14745, dann 
erhälst du alle 14745+1 Takte einen Interrupt - also alle 0,9997 ms 
einen Interrupt.

Allgemein: Rechne aus, wieviele Takte von einem zum nächsten Interrupt 
vergehen sollen. Diese Zahl teilst du dann durch die möglichen 
Prescaler-Einstellungen, ziehst 1 ab und erhälst so den Wert für das 
Compare-Register für jede mögliche Prescaler-Einstellung. Natürlich wird 
nicht jede Einstellung funktionieren, weil z.B. der Wert für das 
Compare-Register nicht in 16bit passt oder das Ergebnis der Berechnung 
keine ganze Zahl (und Rundung vielleicht einen zu großen Fehler 
verursacht) ist.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.