SW Reset ???

Gast #238439
Lesenswert?

Eine richtigen Reset wo auch alle I/O Ports initialisiert werden kannst
Du nur per Watchdog herbei führen.

Ansonsten einfach im Programm selber per Funktionspointer an 0x000000
springen.

Gruss,
Kai
Gast #238440
Lesenswert?

Einen I/O auf den Reset zu legen sollte doch auch klappen. Wenn das
Programm ihn auf Masse zieht wird ein Reset ausgelöst, nach dem
Anlaufen sind die Pins wieder hochohmig.

Bin mir aber nicht sicher, habe es noch nicht probiert ...
Gast #238444
Lesenswert?

>> Eine richtigen Reset wo auch alle I/O Ports initialisiert werden
>> kannst Du nur per Watchdog herbei führen.

> Naja, man kann auch ein Pin auf den Reset-Eingang routen. ;-)

Für so banale Sachen verschwende ich keinen heiligen I/O Port :-).
Gast #238445
Lesenswert?

>Aus welchem Grund sollte es denn nötig sein, während der Ausführung
>eines Programms einen Reset durchzuführen?  Was ist das für eine
>"bestimmte Stelle im Code", die Du erwähntest?

z.B aus einem Bootloader heraus.
Gast #238446
Lesenswert?

> z.B aus einem Bootloader heraus.

OK, daran habe ich nicht gedacht (hatte bisher mit Bootloadern noch
nichts zu tun, werde mich bei Gelegenheit aber mal darüber
informieren).

Danke für Deine Antwort.
Gast #238447
Lesenswert?

Beim MSP430 rufe ich für einen schnellen Reset die NMI-ISR direkt auf,
über ein Makro:

#   define mc_RESET (*(void(**)(void))(0xfffe))()

Den Hardware-Reset macht man über eine passende Aktion wie diese (sieh
Handbuch):

#define mc_HARDWARE_RESET { WDTCTL = 0xDEAD }

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren