www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik MSP430: Timer mit Taste starten und bis CCR0 zählen.Interruptproblem


Autor: Stefan (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

hoffe ihr könnt mir helfen. Ich möchte mit einer Taste einen Timer 
starten, welcher verschiedene festgelegte Zeiten läuft.

Wenn der Taster gedrückt wird, wird sein Interrupt augelöst. In dem 
entsprechenden Interrupthandler wird dann der Timer gestartet. Dabei 
läuft dieser immmer bis zu einem vorher übergebenen Wert, welcher in das 
CCR0-Register eingetragen wurde. Um zu erfahren wann der Timer beim 
CCR0-Wert angekommen ist, wird ebenfalls ein Interrupt ausgelöst.

Das Problem ist jetzt, dass in einer Interrupt-Routine eine Funktion 
aufgerufen wird (Timer) welche einen weiteren Interrupt auslöst. So 
funktioniert es leider nicht einwandfrei.
Habt ihr ne Lösung/Idee/Tipp?

Vielen Dank,
gruß Stefan


Der Code liegt im Anhang

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Seit wann heißen Quelltexte *.PDF ????

Wenn Du Hilfe willst, schicke ein compilierbares *.c.


Peter

Autor: Jörg S. (joerg-s)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Stefan schrieb:
> Das Problem ist jetzt, dass in einer Interrupt-Routine eine Funktion
> aufgerufen wird (Timer) welche einen weiteren Interrupt auslöst.
Und wo ist das Problem? TimerA_init() hat doch überhaupt keine Delays 
o.ä. drin. D.h. der Port Interrupt wird beendet und irgendwann kommt der 
Timer Interrupt. Und selbst wenn der Timer Interrupt sofort kommt, wird 
er erst nach dem (und nicht im) Port Interrupt aufgerufen.

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.