Forum: Mikrocontroller und Digitale Elektronik Reset mit Button am Entwicklungsboard


von Johannes S. (senzi)


Lesenswert?

Hallo,

ich habe ein stk16+ entwicklungsboard von waveshare. Es ist ein 
beschrifteter Reset button vorhanden. Der microcontroller ist ein 
Atemgea16A.

Zum Programm. Ich verwende einige Flags im Programm. Das Problem ist, 
wenn ich  den Reset Button zufällig zu einem Zeitpunkt betätige bei 
welchen die Flag so gesetzt sind ,dass das Porgramm nach dem Loslassen 
nicht mehr weiter läuft.

Daher möchte ich, sobald der Reset betätigt wird, das Programm von 
beginn an starten lassen. Ich habe bereits einen timer mit einer ISR in 
Verwendung. Ich habe nicht heraus gefunden, wie ich das Drücken des 
Reset abfangen kann.

mfg

von Horst H. (horst_h44)


Lesenswert?

Hallo Johannes,

wenn es ein Hardware-Reset ist startet der Mikrocontroller ganz von 
vorne. Wenn es ein Software/(Firmware)-Reset ist muss diese SW-Routine 
geändert werden. Wenn es über einen Interrupt läuft muss diese Routine 
geändert werden. Vielleicht hilft Dir ein Debugger heraus zu finden was 
tatsächlich bei einem drücken der RESET-Taste passiert.

von Peter D. (peda)


Lesenswert?

Johannes Senzenberger schrieb:
> dass das Porgramm nach dem Loslassen
> nicht mehr weiter läuft.

Dann hast Du einen Fehler in Deinem Programm, vermutlich in der 
Initialisierung.

Jedes Reset setzt den Programmcounter auf 0x0000 und die IO-Register auf 
ihre Resetwerte.
Ein C-Compiler setzt zusätzlich den SRAM auf 0 und initialisiert globale 
und statische Variablen.

Für alles andere bist du allein verantwortlich, z.B. Initialisierung 
eines LCD usw.

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.