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
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.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.