www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Frage zu Timer


Autor: Malte Struebert (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

habe mal ne grundsätzliche Frage zu Timern, im speziellen gehts mit im
moment um den Timer0 des Tiny15

1.) Wenn der Timerinterrupt ausgelöst wird, startet der Timer dann
automatisch neu oder muß ich ihn wenn er endlos laufen soll immer
wieder von hand (also in den ISR) starten?

2.) Kann mir jemand ne Formel sagen mit der ich die Zeit berechne?

im prinzip ist mir das schon klar, habe bisher folgendes verwendet:
"1/1000000 Hz  1024 Vorteiler  TCNT0H:TCNT0L = xx ms"

hab ich irgendwo im netz gefunden, aber im Datenblatt steht irgendwas
von Up-Counter, also wäre mein wert von TCNT ja 255-Wert wenn der
Interrupt beim überlauf von 255 auf 0 ausgelöst wird oder hab ich da
nen Denkfehler?

Gruß
Malte.

Autor: Buchmann (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
nein, du hast da keinen denkfehler - und der timer startet jedes mal von
neuem.
die zeit wird folgender maßen berechnet: 1/TimerFrequenz *
(maxTimervalue-reloadwert).
maxtimervalue is bei 8 bit 255 und bei 16 bit 65535.
den reloadwert kannst du, musst du aber nicht beim interrupt in die
bzw. das zählregister des timers laden.

Autor: Malte Struebert (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

was passiert denn wenn ich z.B. den Counter auf 200 stelle, dann rennt
der Timer ja beim ersten durchlauf von 200 bis 255, dann überlauf =>
Interrupt wird ausgelöst, ist der Counter danach dann 0 oder wieder
200?

Wenn er null wäre, würde der nächste Interrupt ja nicht nach 55 sondern
erst nach 255 Zyklen eintreten oder?

Wenn ich das also richtig verstanden habe muss ich in der Interrupt
routine nur immer wieder meinen Counter neu setzen (in meinem Beispiel
also auf 200) korrekt?

Gruß
Malte.

Autor: Buchmann (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
genau.. sonst beginnt er wieder bei 0 zu zählen.

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.