Mystisches Programm!??

Gast #89241
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
Angehängte Dateien:
Gast
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.
Gast
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
Gast
@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...!!
Gast
@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 :-)

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 22 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.