Das Open-Control-Projekt - Die Alternative zur C-Control-I


Das Forum zur C-Control-1
Welche C-Control-Varianten existieren?
Übersicht - Suchen - Neueste 50 Beiträge - Neuer Beitrag - Login - Registrieren
INFO - FAQ - CC2-Forum - CCPro-Forum 

 Re: Software Reset ? Kategorie: Programmierung Basic (von Thomas Wulf - 21.02.2006 9:19)
 Als Antwort auf Re: Software Reset ? von Dietmar - 20.02.2006 18:15
Thomas Wulf nutzt:  CC1-Unit V1.1, CC1-M-Unit V1.1, CC1-M-Unit V1.2/2.0, Micro, Open-Micro, Open-Mini
> Hallo Thomas
>
> > Über ein Poti und einen AD-Kanal erzeuge ich Werte um damit
> > zu verschiedenen Unter-Programmen zu springen. Das geht auch immer
> > eine Weile gut bis das Haupt-Programm auf einmal wieder aus allen Schleifen herausspringt
> > und zum Anfang des Programmcodes gelangt.
> > Woran kann das liegen ?
>
> Klingt so wie ein kurzzeitiger Einbruch der Betriebsspannung, zum Beispiel weil ein Verbraucher geschaltet wird. Denkbar ist aber auch eine zu starke Unterprogrammverschachtelung oder das Ausführen von illegalen Tokenbefehlen. Wird denn immer an der gleichen Stelle im Programm ein Reset ausgeführt oder geschieht das eher an immer anderen Positionen, also zufällig? Ist denn der Autostartjumper gesetzt?
>
> > Was muss in der Software falsch laufen, damit der Controller einen Reset auslöst
> > ohne dass der Strom abgeschaltet wurde oder die Reset-Taste gedrückt wurde.
> > Geht das überhaupt oder interpretiere ich das Verhalten des M2.0 hier falsch.
>
> Um abzuklären, woran das liegt, muß man Dein Programm untersuchen und dann Schritt-für-Schritt Veränderungen daran vornehmen, bis das Verhalten nicht mehr auftritt. Oder man erstellt ein neues Programm, in das man nacheinander alle Codeteile Deines Programms übernimmt. Nach jeder Veränderung wird überprüft, ob der Fehler wieder auftritt. Nur durch systematisches Testen kommt man dem Problem auf die Spur.
>
> Viele Grüße
> Dietmar

Hallo Dietmar,

vielen Dank für die Antwort. Der Autostart-Jumper ist gesetzt und die Betriebsspannung
stimmt auch und es sind keine Spannungseinbrüche feststellbar. Andere Programme
laufen auf dem selben Modul einwandfrei. Dass es etwas mit den Verschachtelungen
bzw. goto/gosub Anweisungen zu tun haben könnte ist mir im Nachhinein auch eingefallen.
Interessant ist hierbei, dass das M2.0 Unit stabil läuft, wenn mit dem Poti ein Programm
angewählt wurde und dann das Poti nicht mehr betätigt wird, also das Programm nicht
gewechselt wird. Nur wenn das Programm öfters gewechselt wird dann kommt es zu einem
Sprung an den Anfang des Programmcodes.
So wie ich Dich verstanden habe, können also Überschreitungen der Verschachtelungstiefen
einen Sprung zum Programmstart verursachen.

Ich werde mein Programm diesbezüglich nochmals durcharbeiten.

Noch was zum Schluss :

Was bedeutet ein illegaler Tokenbefehl ? Kannst Du mir bitte ein kleines Beispiel nennen ?

Vielen Dank !

Gruss,

Thomas

 Antwort schreiben

Bisherige Antworten:

Re: Software Reset ? (von Dietmar - 21.02.2006 13:24)