Hallo Cybererror,
also für mich müsstest Du glaube ich nochmal etwas genauer beschreiben, was das Programm denn nun genau machen soll! Ab einer gewissen Code-Länge finde ich es nämlich zunehmend schwierig eine Vorstellung davon zu bekommen, was der Code denn machen soll - insbesondere wenn er es nicht tut
Ich verstehe auch nicht ganz diese Unmenge von Variablen - wozu brauchst Du denn diese ganzen Integers?
Wieso lässt Du das Poti nicht ganz einfach regelmäßig in der Hauptschleife abfragen? Wenn Du keinen neuen Wert einstellst, wird halt immer wieder der gleiche Wert übernommen, d.h. unterm Strich ändert sich auch nichts - wäre das nicht in Ordnung?1 Die Poti Zeiteinstellung soll nur verändert werden wenn ich auch am Poti drehe und wenn nicht gedreht wird soll der alte wert weiter stehen? da weiß ich noch nicht wie ich das realiesiere?
Ohne den Code auch nur ansatzweise im Detail verstanden zu haben, ist mir aber schon mal ein "No-Go" aufgefallen:
Das Unterprogramm Start_tat wird über ein GOTO verlassen - und das muss zu Problemen führen!
Wieso? Weil der Controller bei jedem GOSUB-Befehl diejenige Adresse, bei der das Hauptprogramm gerade war, auf den sogenannten "Stack" legt. Wird das Unterprogramm regulär über den Befehl "Return" verlassen, holt sich der Controller genau diese Adresse vom Stack zurück und macht dort weiter, wo er unterbrochen wurde. Kommt aber kein Return, wird beim nächsten GOSUB wieder ´ne Adresse auf den Stack gelegt, d.h. er wächst und wächst bis er überläuft, und das führt zu unkontrollierten, instabilen Zuständen, die oft damit umschrieben werden, dass sich der Controller "aufhängt".
Aber um zu schauen, ob nicht noch andere Bugs in dem Code stecken, müsste erst mal klar sein, was das Programm denn nun genau tun soll.
Also: Stell Dir mal vor ich wäre der Controller, und Du müsstest mir in Klartext ganz genau (!) beschreiben, was ich wann tun soll
Dann kommen wir bestimmt irgendwie weiter!
Lesezeichen