msp430 warum so oft DW RESET

Gast #77689
Lesenswert?
• ▲
▼
Das sind die Interrupt-Vektoren. Wenn keine IR-Routine für den
ntsprechenden Interrupt vorhanden ist, dann darf dieser (natürlich)
auch nicht auftreten. Wenn doch, dann ist das ein schwerer
Programm(ier)fehler. Als Notnagel wird in diesem Programm dann ein
Reset erzeugt. Analog funktioniert ja auch ein Watchdog: Programmfehler
löst dort auch einen Reset aus.

Stefan
Gast #77690
Lesenswert?
• ▲
▼
Hallo zusammen!

msp430-gcc bietet die Möglichkeit, eine Funktion namens
'UNEXPECTED()' zu überlagern. Was macht diese routine? Ganz einfach,
anstelle der 'DW RESET' wird ein Assemblercode erzeugt, der einfach
nach 'UNEXPECTED()' verweist. Man kann in dieser Routine (in der
eigenen natürlich) dann selber entscheiden, was bei unbeabsichtigt
auftretenden Interrupts passieren soll. Diese unbeabsichtigten
Interrupts können beispielsweise dann auftreten, wenn das IE-Flag für
einen Interrupt gesetzt ist, aber keine Handlerroutine existiert.

Gruß,
Patrick...
#77691
Lesenswert?
• ▲
▼
Wie Stefan schon sagte, es wird versucht durch einen Neustart einen
schweren Programmierfehler zu vertuschen.

Besser ist es daher, für jeden Interrupt auch einen Handler
aufzusetzen, der die CPU nachhaltig stopt und vielleicht noch einen
freien Pin setzt, als Zeichen, daß ein schwerwiegender Programmfehler
aufgetreten ist.


Peter
Gast #77692
Lesenswert?
• ▲
▼
Ganz herzlichen Dank für eure Beiträge! Wenn ich richtig verstanden
habe, verweisen im Beispiel die meisten Interrupt-Vektoren auf das
RESET-Label. Bis jetzt habe ich gemeint, dass zB auf Platz 10 nur der
Vektor "Watchdog timer" stehen dürfe.

Auf jeden Fall bin ich glücklich, dass das msp430 Forum lebt. Dies ist
für mich als Einsteiger beruhigend!

Gruss  Benno

Antwort schreiben

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.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.