MSP430F2418: Software Reset ohne GPIOs zu ändern

Gast #2651297
Lesenswert?
• ▲
▼
Hallo zusammen,

wie kann man bei einem MSP430F2418 einen Software-Reset auslösen, der 
wieder bei der Main() anfängt, den Stack leert aber die GPIOs belässt.
Ein Watchdog-Reset führt nämlich dazu, dass auch die GPIO-Register auf 
Tri-State gehen.

Danke für die Hilfe.

Gruß
Jochen
#2651414
Lesenswert?
• ▲
▼
Hallo Jochen


Nein, das ist nicht möglich mit diesem MCU. Bei einem reset wird der 
ganze Baustein zurückgesetzt. Was du machen könntest wäre die Werte, 
welche an den Ausgängen liegen, speichern, den reset durchführen, und 
dann als allererstes in deiner Init() Funktion die Werte wieder laden 
und ausgeben. Der Nachteil wäre einfach dass die Pins kurz hochohmig 
werden.

Was noch zu beachten ist, ist dass die Ausgänge beim Reset "undefiniert" 
werden und deshalb ein Pull-Up bzw. ein Pull-Down Widerstand benötigen 
könnten, damit die anderen Bauteile, die du ansteuerst, nicht anfangen 
zu spinnen.


Alex
Gast #2651565
Lesenswert?
• ▲
▼
Ich weiß nicht, ob es funktioniert:
In ASM ein Sprung an die Adresse 0xFFFE (Reset Vektor). In C ein 
Funktionspointer anlegen, den auf 0xFFFE zeigen lassen und aufrufen. 
Siehe Seite 15 im Datenblatt.
Gast #2651579
Lesenswert?
• ▲
▼
>den Stack leert aber die GPIOs belässt.
Wozu soll dass denn gut sein?
Wenn der Stack 'ne Macke weg hat, dann hast Du was falsch programmiert!

Ansonsten: Statemachine
1. State: WDT anhalten + GPIO-Init; "NextState = 2. State"
2. State: restliche Inits; NextState = 3. State"
...
x. State: SW-Reset: "NextState = 2. State"

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 14 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

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.