Hallo Leute, ich hab' da ein etwas merkwürdiges Problem. Ich habe ein Programm, das nicht so recht will wie ich will, im Simulator aber ebenso nicht tut wie im Controller. Das ist ja ansich nicht schlecht, wenn alles korrekt simuliert wird, aber wie um alles in der Welt kann man bei Simulator herausfinden, wodurch ein Reset ausgelöst wurde? Ich kann das Programm im Einzelschrittmodus durchlaufen lassen und der holt es mir da aus einer Schleife raus. Aus einer Schleife, in der ich auf das Ende eines Bytes über's USART warte (gesendet). Der Watchdog ist zwar aktiviert, aber erstens macht er bei jedem Durchlauf der Schleife (Nur etwa drei Anweisungen lang) einen Watchdog-Reset (WDR), zweitens funktioniert es auch nicht, wenn ich den WDT rausnehme und drittens hat das Ganze zuvor noch funktioniert. Alle Änderungen (Zumindest wohl eben fast alle) habe ich seit "zuvor" wieder rückgängig gemacht, aber nun tut's nimmer. Da läuft kein Timer mehr, kein ADC, kein GarNix, praktisch nur noch das USART. Und trotzdem schafft der es, mir das Programm zu resetten. Nochmal die Frage: Wie kriegt man im AVR-Studio-Simulator den Grund, bzw. die Quelle eines Resets heraus? Besten Dank im Voraus!
Hier jetzt mal der komplette Code. Alles was keine Rolle spielt hab' ich auskommentiert. Zumindest in der Initialisierung, die Prozeduren sind alle drin. Der Controller ist übrigens ein ATmega48 an 20MHz. Die Beschreibung oben könnt ihr vergessen, die muss ich dann noch anpassen, wenn alles fertig ist. Jetziger Stand: Watchdog ist ausgeschaltet, doch der Controller wird alle 0.5s oder so zurückgesetzt. Sieht man auch im AVR-Studio. Im Timer1-Compare wird eine LED getoggled (An Port C Bit 0), daran sieht man, dass er immer wieder resetted.
Hat sich wohl erledigt... Ich bin zu INT0 und INT1 anstatt INT0R und INT1R gesprungen. Da INT0 aber als '0' definiert ist, sprang des Ding jeweils wieder an den Anfang... Naja, nix für Ungut!
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.