Ob ein Speicher überläuft oder ob nicht doch irgendwo Endlosschleifen auftauchen kann man nur sagen, wenn man den Code sieht.
Und ich behaupt jetzt einfach mal: Es gibt mindestens 1 Endlosschleife.
Hab eine Haussteuerung mit Touchdisplay im Einsatz die immer wieder mal erweitert wird. Das ganze ist jetzt schon recht umfangreich mit viel Code drum macht es auch wenig Sinn den hier jetzt zu posten.
Abundzu friert mit beim bedienen des Menüs mal alles ein und nichts geht mehr. Der Watchdog löst dann aus und alles startet neu.
Wie kann ich den Fehler ausfindig machen? Was sind die heufigsten Ursachen? Endloschschleifen scheint es keine zu geben. Ich hab ne Menge Variablen im Einsatz. Kann es sein, dass da ein Speicher überläuft?
Wie wähle ich $framesize, $hwstack, $swstack richtig? Fragen über Fragen![]()
Ob ein Speicher überläuft oder ob nicht doch irgendwo Endlosschleifen auftauchen kann man nur sagen, wenn man den Code sieht.
Und ich behaupt jetzt einfach mal: Es gibt mindestens 1 Endlosschleife.
#ifndef MfG
#define MfG
Ich habe $framesize, $hwstack und $swstack mal vergrössert und hatte bisher keinen Absturz. mal sehen ob das nur Zufall war oder es wirklich daran lag.
Endlosschleifen kann ich mit hoher Wahrscheinlichkeit ausschließen. Das ganze ist nur mit GOSUB verlinkt, sollte also dadurch in keine Endlosschleife kommen. GOSUB gibt es aber reichlich, vielleicht war das der Grund.
Ich gehe auch davon aus, dass eine Endlosschleife (Hauptschleife) existiert.
Wenn die Subs (Gosub) ineinander verschachtelt sind, brauchst Du mr HWStack. Subs (Declare...) benötigen mehr SW Stack, genau wie Funktionen.
Wieviel davon, kommt darauf an, wie kaskadiert das Programm ist.
Ich erhöhe den Stapelspeicher immer bis zum Limit. Wieviel noch frei ist, zeigt dir der Bericht (STRG+W) nach dem Kompilieren.
Wenn das Herz involviert ist, steht die Logik außen vor! \/
Ich meine, dass da mal irgendwo was stand von wegen jede Sub/Gosub/Function braucht 2 Byte, jeder Parameter ebenfalls.
Also kann man so schon mal grob nachrechnen, in welcher Hausnummer man sich da bewegt.
#ifndef MfG
#define MfG
Lesezeichen