www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Timerproblem


Autor: Birgit (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo!!

Ich hätte da mal eine Anfängerfrage bzgl. Timer:
Nachdem ich den Timer initialisiert habe und die Interrupts frei gebe 
mit sei(), wird beim nächsten Zählschritt sofort in die ISR gehüpft. 
Nachdem die ISR abgearbeitet wurde, läuft der Timerinterrupt korrekt - 
d.h. bei einem nächsten Zählvorgang (Vergleichswert z.b. 0xF7) wird der 
Interrupt bei 0xF7 ausgeführt.
Was mache ich falsch, dass die ISR sofort nach der Initialisierung und 
der Interruptfreigabe aufgerufen wird?

Danke
Birgit

Autor: Hannes Lux (hannes)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Birgit wrote:
> Hallo!!
>
> Ich hätte da mal eine Anfängerfrage bzgl. Timer:
> Nachdem ich den Timer initialisiert habe und die Interrupts frei gebe
> mit sei(), wird beim nächsten Zählschritt sofort in die ISR gehüpft.

Dann hast Du vermutlich erst den Timer gestartet (Vorteiler-Wert 
gesetzt) und dann erst den OCR-Wert gesetzt, worauf der Timer beim Start 
den OCR-Wert 0 vorgefunden hat und darauf (ganz korrekt) seinen 
Interrupt angemeldet hat...

> Nachdem die ISR abgearbeitet wurde, läuft der Timerinterrupt korrekt -
> d.h. bei einem nächsten Zählvorgang (Vergleichswert z.b. 0xF7) wird der
> Interrupt bei 0xF7 ausgeführt.
> Was mache ich falsch, dass die ISR sofort nach der Initialisierung und
> der Interruptfreigabe aufgerufen wird?

Erst Vergleichswert setzen, dann (mittels Vorteiler) Timer einschalten.
Kann nicht ausgeschlossen werden, dass noch ein "alter" Interrupt in 
TIFR steht, dann vor dem Setzen von TIMSK eine Eins (keine Null) in das 
entsprechende Bit von TIFR schreiben, um es zu löschen.

>
> Danke
> Birgit

Nix zu danken

...

Autor: Birgit (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
super danke dir!! das ist vermutlich mein problem!!

Autor: Birgit (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
noch eine frage: kann ich den counter auch wieder stoppen, wenn ich den 
Vorteiler auf 0 setze??

Autor: Kupfer Michi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja.

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.