www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik MSP430 ISR unterbrechen


Autor: Thomas (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo zusammen,
ich habe folgendes Problem Eine TRIGGER_ISR ladet einen Timer, welcher
dann in einer TIMER_ISR ein Bit toggelt. Nur es kann passieren dass die
TRIGGER_ISR und die TIMER_ISR fast gleichzeitig ausgelösst werden, wenn
die TIMER_ISR die "erste" ist ist das kein Problem, allerdings wenn
die TRIGGER_ISR zuerst ausgeführt wird verschiebt sich der TIMER_ISR um
die Runtime der TRIGGER_ISR. Kann ich irgendwie dem MSP sagen er darf
die TRIGGER_ISR unterbrechen? um dann die TIMER_ISR zu starten?

gruss Thomas

Autor: Christian R. (supachris)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
meines Wissens geht das nicht, da der externe Trigger eine höhere
Priorität als der Timer-Trigger hat. Somit muss der Timer warten, bis
der Port-Trigger fertig ist.

Lösungsansatz: In der Trigger-ISR ab und zu das Timer-Interrupt-Flag
pollen und entsprechend reagieren.

Autor: arc (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Kann ich irgendwie dem MSP sagen er darf die TRIGGER_ISR
> unterbrechen? um dann die TIMER_ISR zu starten?

Das GIE-Flag in der Trigger-ISR wieder einschalten (_EINT() beim
IAR-Compiler bzw. bis #GIE, sr)

Autor: Thomas (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Super, danke funktoiniert,

ich habe zuerst vergessen das Interruptflag 0 zu setzten, und habe die
globelen Interrupts vorher wieder eingeschalten.

Gibt es eigentlich eine möglichkeit nur eine art (timer) interrupt in
er anderen ISR zuzulassen, ich habe es jetzt so gemacht, dass ich alle
anderen interrupts deaktiviere und dann dien globalen setzte, das
dürfte die einzige köglichkeit sein oder?

gruss Thomas

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.