Hallo zusammen! Ich habe mal eine Frage zum MSP430 - gibt es irgendeine Art Befehl, dass der uP sich eigenständig resettet? Quasi aus einem Menü heraus einen Punkt "Reset" und der läd komplett neu? Oder wenn kein spezieller Befehl - gibt es eine einfach Möglichkeit, wie z.b. den Watchdog läuten lassen oder ähnliches? Befehl wäre mir lieber... Danke!
Am einfachsten geht es tatsächlich mit dem Watchdog. Lass den uC kontrolliert in eine While-Schleife laufen:
1 | void MSP_reset (void) |
2 | while (1) |
3 | {
|
4 | WDTCTL = WDT_ARST_1000; //reset after 1s |
5 | }
|
das sollte klappen. VG, mui
Man kann den Watchdog einfach auf einen ungültigen Wert setzen. Dann sollte der Reset unmittelbar erfolgen. Einige Beispielprogramme benutzen "WDTCTL = 0xDEAD". ;)
Denke nicht. Es gibt genügend Codeschnipsel im Netz, die offensichtlich damit funktionieren.
Dann muss aber schon darauf geachtet werden, das bei dieser Wertekonstellation das WD-Passwort gesetzt wird. Aber wenn das wirklich so funktioniert wär das ne lustige Sache :-)
nicht_eingeloggt schrieb: > Dann muss aber schon darauf geachtet werden, das bei dieser > Wertekonstellation das WD-Passwort gesetzt wird. Eben nicht. Darum geht es ja. Der MSP macht reset wenn das falsche Passwort geschrieben wird. WDTPW: Watchdog timer password. Always read as 069h. Must be written as 05Ah, or a PUC will be generated.
Also nur mal zur Info: Der 0xDEAD funktioniert einwandfrei und sofort! Danke!
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.