Hi Leute! So langsam bin ich am Verzweifeln! Das Programm macht einfach was es will - wie ist es denn möglich, dass die main-Funktion mehrmals aufgerufen wird -> das gibts doch garnet, oder!? -> es sollten doch die ganzen Funktionen (in der main) einmal initialisiert werden, aber komischerweise wird bei mir die Funktion "MobilPhoneInit" ab und zu bei einem ExtInt.0 aufgerufen - des ist doch normalerweise garnet möglich, oder - woran kann das denn liegen? Wäre sehr dankbar wenn mir jemand weiterhelfen könnte! gruß, semo
Schau dir mal das Assemblerlisting für for (;;) {} an, ob das überhaupt noch da ist, es kann sein, dass das der Compiler wegoptimiert, dann halt ein asm volatile (" nop"); in die Schleife schreiben. Also möglich dass das Programm aus dem main() rausläuft, den Rest des Speichers abarbeitet und wieder von vorne anfängt.
Wenn ein Reset ausgelöst wird, dann fängt das Programm natürlich auch wieder von vorne an. Gründe für einen ungewollten Reset sind u.a.: - Stacküberlauf - Watchdog - Zu geringe Spannung, auch wenn es nur kurzfristig ist (z.B. weil ein Relais eingeschalten wird). Die Brownout-Detection "verschärft" das Problem noch Markus
@Fritz danke für den Tipp...! hab das auch grad ausprobiert - ging anfangs recht gut, aba dann hatte ich auf einmal das selbe problem wieda...!!
@Markus: An den Watchdog hab ich als erstes gedacht, aber im Programm wird er nicht eingeschaltet. @semo Watchdog sollte man immer einschalten, man weiss ja nie. Meiner hat zwar noch nie ausgelöst, aber ich kann halt besser programmieren als MOSFET-Treiberschaltungen entwerfen :-)
hmm, hab zwar noch net unbedingt viel erfahrung mit watchdog - aba ok, werd mir des ganze mal näher anschaun...!! gruß, semo
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.