Einen guten Abend an Alle! Hat jemand von euch einen Tip, wie ich einen Software Reset in C hinbekomme? Ich möchte nach einem wake-up die Software neu starten. Normalerweise geht es nach einem wake-up dort weiter, wo es vor dem power-down aufgehört hat. In diesem Fall soll die Software aber ganz neu gestartet werden mit allen Initialisierungen usw. Hat jemand einen Tip für mich? Danke für eure Hilfe. Gruß Winfried.
gibt mehrere Möglichkeiten. 1. (geht immer) den internen watchdog starten und das Programm in eine Endlosschleife schicken, nach einer gewissen Zeit beißt der Hund und du hast deinen deinen Reset. 2. einen Portpin mit Reset verbinden und diesen auf low setzen 3. alle Initialisierungen per Software dazuschreiben und einen Sprung nach Adresse 0 programmieren, dürfte nur mit asm gehen #asm rjmp 0 #endasm
Hi Winfried, wie in der CodeVision NG schon gesagt: #asm jmp 0 #endasm Dies gewährleistet zumindest, das der Startup-Code des C-Programms durchlaufen wird. Registerinhalte, die davon nicht bearbeitet werden, sind natürlich nicht oder nur zufällig auf "Reset"-Stand. hth -uwe
ne ne, ganz so einfach geht das nicht, es sei denn, alle SFR werden in der startup initialisiert (glaube ich nicht, müßte man mal nachesehen). Aber man hat ja die Möglichkeit, eine eigene startup einzubinden.
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.