Forum: Mikrocontroller und Digitale Elektronik Mikrocontroller per software resetten


von Johannes (Gast)


Lesenswert?

Hallo,
ich habe ein Board entwickelt, wo ich noch eine sache hätte besser 
machen können.
ich drücke einen Taster und ziehe damit den !MCLR auf Low. Dadurch wird 
der Mikrocontroller zurückgesetzt.
Jetzt möchte ich das ganze aber auch gerne über Software realisieren. 
Wenn ich über CAN eine bestimmte Nachricht bekomme, soll der 
Mikrocontroller resettet werde. Ist so etwas möglich?
Das ganze möchte ich mit dem dsPIC30F6011 und dem XC16-Compiler machen.
Ich hätte das ganze über einen Widerstand machen können, der mit dem 
MCLR und einem anderen pin verbunden ist. Dann hätte ich den Pin bei der 
Initialisierung auf High gesetzt und zum rücksetzen auf Low. Doch die 
Platine ist schon fertig geätzt und ohne unschöne pfuscherei für mich 
nicht möglich den widerstand da zu plazieren.

Johannes

von Max D. (max_d)


Lesenswert?

Also AVRs kann man mit dem watchdog resetten. Einfach scharf schalten 
und auslaufen lassen.

von Project HC (Gast)


Lesenswert?

Wenn der Controller keine Möglichkeiten bieten sollten, sich per 
Software resetten zu lassen (z.B. Watchdog), dann hilft evtl. auch 
einfach ein Sprung an die Adresse, auf die der Reset-Vector zeigt.

von R. Sp. (Gast)


Lesenswert?

Die PIC's kennen in der Regel einen Befehl namens RESET für einen 
Software gesteuerten Reset des Controllers. Siehe Datasheet Seite 163 
der Befehl #60.

von Johannes (Gast)


Lesenswert?

Ah,
Watchdog. natürlich, dass sollte gehen.
Auf die Idee bin ich gar nicht gekommen.

von Little B. (lil-b)


Lesenswert?

Die PIC-Controller lassen sich sehr einfach in Software resetten:

Datenblatt Seite 167:
[...]
59 | RESET | RESET | Software device Reset | 1 | 1 | None
[...]

sollte etwa so zu verwenden sein:
1
asm("RESET");

Aber vieleicht gibts auch synonyme wie
1
_RESET();
Schau dafür im entsprechenden <xc.h> file nach

~Lil B

: Bearbeitet durch User
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
Noch kein Account? Hier anmelden.