Atmega16 Software Reset

OP (Firma: RWTH Aachen) #3873831
Lesenswert?
• ▲
▼
Ich würde gerne nach 10 Sekunden gedrückt halten einer Taste einen Reset 
durchführen.
Nun wollte ich dies banal über Watchdog lösen: while(1);
Funktioniert aber leider nicht.

Wie kann ich ohne auf den reset Pin von außen zugreifen zumüssen oder 
über die Ausgänge auf den Reset Pin anzusteuern (zu Unsicher) dies 
lösen?

Gibt es einen einfachen Reset Befehl?
#3873844
Lesenswert?
• ▲
▼
Rene Müller schrieb:
> Ich würde gerne nach 10 Sekunden gedrückt halten einer Taste einen Reset
> durchführen.
> Nun wollte ich dies banal über Watchdog lösen: while(1);
> Funktioniert aber leider nicht.

Die Frage ist eigentlich: warum?
Denn: Wenn ein µC tatsächlich hängt, dann hängt er und dann kannst du 
ihn auch nicht per Programm in einen Reset treiben (ausser mit dem 
Watchdog, in dem das Programm den nicht mehr zurückpfeift). Aber im 
Regelfall hängt ein µC nicht. Und wenn doch, dann muss man diesem 
Problem auf den Grund gehen und den Fehler im Programm suchen bzw. die 
Hardware verbessern.

Wenn es nur darum geht, dass ein Programm sich neu initialisieren soll, 
dann programmiert man genau das: Dass der Initialisierungsteil des 
Programms erneut abgespult wird. Das ist dann aber ein ganz normaler 
Teil des Programms und hat mit einem Reset eigentlich nicht wirklich was 
zu tun.

> Gibt es einen einfachen Reset Befehl?

Nein.
Du kannst maximal einen Sprung an die Adresse 0 machen. Aber auch das 
entspricht nicht dem, was bei einem Reset alles abläuft. Denn der ganze 
Reset-Teil, den die Hardware autonom erledigt, wird dabei nicht 
durchgeführt.

> Wie kann ich ohne auf den reset Pin von außen zugreifen
> zumüssen oder über die Ausgänge auf den Reset Pin anzusteuern
> (zu Unsicher) dies lösen?

Indem du so sauber programmierst bzw. die Hardware so sauber aufbaust, 
dass sich die Fragestellung des 'wie resette ich absichtlich einen µc' 
gar nicht stellt, weil die Funktion überhaupt nicht gebraucht wird.

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.