Hallo! Eine kurze Frage: Gibt es eine Möglichkeit, bei einem ATMega325 mit einem befehl einen reset auszulösen? bisher habe ich das immer über einen pin gemacht - einen solchen habe ich nun allerdings nicht zur verfügung. Danke!
einmal gibts jmp 0, ist aber kein echter Reset, was die Initialisierung der Peripherie angeht. Wenn du das aber sowieso alles in deinem Programm machst und dich nicht auf reset-default-werte verlässt, ist das auch ok. Der sauberste Weg: starte den Watchdog und schicke das Programm in eine Endlosschleife.
was passiert genau beim watchdog reset? wird das proramm wie bei einem normalen reset neu gestartet?
1 | /* Execute reset via the watchdog */
|
2 | /* This not only executes the reset vector, but also */
|
3 | /* re-initialises the hardware like an external reset */
|
4 | cli(); |
5 | wdt_enable (WDTO_15MS); |
6 | /* Wait for the watchdog to bite */
|
7 | while (1); |
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.