PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : AVR-Reset durch Software möglich?



robotxy
16.05.2006, 09:56
Hi!
Ist es möglich den AVR über die Software zu reseten?
MfG
Rasmus

BiGF00T
16.05.2006, 10:02
Wenn ich jetzt den Thread wüsste, der hier mal vor kurzem war... Irgendwer hatte glaube ich genau das selbe gefragt.
Bestimmt kann man nen Ausgang auf den Reset Pin legen. Aber wahrscheinlich war das nicht deine Frage.
Ich weiß auch nicht mehr, ob in dem oben erwähnten Thread ne Lösung dabei war...

EDIT: wow, das erste mal, dass mich die Forumsuche mal zum Ziel gebracht hat.
https://www.roboternetz.de/phpBB2/zeigebeitrag.php?t=19584&highlight=software+reset

robotxy
16.05.2006, 16:18
Danke!
Aber eine wirkliche Lösung haben die da auch nicht gefunden.
Hat noch jemand eine Idee?
MfG
Rasmus

Mehto
16.05.2006, 16:23
wie wäre es wenn man einfach zur Stelle null springt?

Wiso must du denn im Programm resetten?

Gruß,
Mehto

Pascal
16.05.2006, 16:55
wie wäre es wenn man einfach zur Stelle null springt?

Wie im genannten thread genannt, wird dabei wirklich nur an die Stelle 0 im Programmcode gesprungen. Die Registerinhalte bleiben erhalten.



Aber eine wirkliche Lösung haben die da auch nicht gefunden.

Eigentlich schon. Wenn du den watchdog normalerweise nicht benötigst, stellst du ihn auf eine kurze reset-Zeit ein (ich glaub, standardmäßig ist schon das kürzeste eingestellt) und schaltest den watchdog an. Nach der eingestellten Zeit wird dann ein echter reset ausgeführt.
Wenn du ihn doch verwendest, musst du halt in der eingestellten Zeit unterbinden, dass der watchdog zurückgesetzt wird. Dann erfolgt auch ein reset.

uwegw
16.05.2006, 18:52
wie sich bei dieser Kopfnuss hier
https://www.roboternetz.de/phpBB2/viewtopic.php?t=18714
herausgestellt hat, werden die Register bei einem Watchdog-Reset nicht gelöscht. Es ist aber damit zu rechnen, dass Bascom beim Programmstart die Register initialisiert...

E-Fan
16.05.2006, 20:21
Man könnte auch in den ersten Programmteilen in sämtliche Register, bei denen es nötig ist, die erforderlichen Werte reinschreiben die beim Starten so oder so schon vorhanden sind.
Springt man in diesen Programmteil zurück so könnte man die Register welche sich während des Betriebs verändern auf Kosten von ein paar Byte Flash alles Löschen.