Forum: Mikrocontroller und Digitale Elektronik Mystisches Programm!??


von semo (Gast)


Angehängte Dateien:

Lesenswert?

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

von Fritz Ganter (Gast)


Lesenswert?

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.

von Markus (Gast)


Lesenswert?

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

von semo (Gast)


Lesenswert?

@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...!!

von Fritz Ganter (Gast)


Lesenswert?

@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 :-)

von semo (Gast)


Lesenswert?

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
Noch kein Account? Hier anmelden.