Hallo habe folgendes Problem: Meine Firmware läuft in einer EndlosSchleife, wenn ich nun einen Software Reset durchführen will, wird die AssemblerFunktion Jump to 0000 aufgerufen, welche meinen Programmcode wieder von voren beginnen lässt. Leider enumeriert sich aber mein Controller nach einem solchen Reset nicht richtig... Muss ich noch irendwas vorher per Software deaktivieren ???? Danke für die Hilfe M. Sahm
Hallo, Du machst einen Sprung auf Adresse 0, schön. Mit einem Reset hat das nichts zu tun. Die CPU und alle Ports und Register sind genauso, wie Du sie beim Sprung hinterlässt. Der Zustand nach Reset kann man im Datenblatt zusammensuchen, Ports normalerweise bei AVR alle auf 0, Controlregister auf 0, Interrupt gesperrt usw. usw. usw. Watchdog könnte gehen (wenn vorhanden, hab zum 1287 jetzt nicht geschaut) oder eben per Portpin den Reset-Pin auf L ziehen, der sollte nach Reset Eingang ohne PullUp sein, müßte man aber auch nachschauen. Gruß aus Berlin Michael
Ich würde halt gerne den Zustand haben, als wenn ich das Gerät grade erst wieder reinstecke... Ist denn ein Jmp an Adresse 0 nicht gleich einem Watchdog Reset ? Danke
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.