![]() ![]() INFO - FAQ - CC2-Forum - CCPro-Forum |
|
Mal vorweg, Die Seite von ManfredW ist eine echte Hilfe beim Verstehen von allen Mögliche Dingen. Super! @ GeKü: Die Timer gehen in der Testumgebung aber nicht. Laut Doku ist die Syntax für Timer genau anders rum, also "Variable = Timer". Die Variable muss also noch definiert werden. also Beispielsweise: define x byte ' Timervariable x = timer ' setzt Timerzeit auf 0, Timer zählt automatisch hoch if x < 200 then goto ... manchmal muss man einfach länger drüber knobeln :-) auch die Gosubs sind in diesem Programm nicht die bessere Lösung, da meist an eine andere Stelle gesprungen wird. In Deinem Beispiel würde die Funktion sein: wenn taste1 = 0 ist dann gosub #rauf. In der Subroutine #rauf sind aber zwei verschieden Sprungziele enthalten, sodass es kein Return gibt. Ich glaube, dass das nicht so schick ist. Auch die nachfolgend angesprungene Subroutine zeigt im Endziel nicht auf den Ursprung. Also doch besser goto an Stelle gosub. #rauf blank = on ' schaltet die beiden äußersten LEDs auf halbe Helligkeit pause 5 ' Schalterentprellung if a = 7 then goto start1 ' Wenn der Zähler = 7 ist wird das Unterprogramm verlassen a = a + 1 ' Erhöhung des Zählers um 1 goto anzeige ' springt in das Unterprogramm Anzeige #anzeige if a = 1 then led1 = on ' LED1 an if a = 1 then tmp = 0 ' PWM Port 0% ... if a = 8 then led8 = on ' LED8 an if a = 8 then tmp = 250 ' PWM Port 100% pwm1 tmp ' Datenzuweisung PWM-Port1 goto start1 ' Rücksprung in das Hauptprogramm start1 > Hallo, > z.B. > #start > Timer=0 'setzt Timerzeit auf 0 (glaube das dies geht) > #start1 > pwm1 tmp ' Datenzuweisung PWM-Port1 > if Taste1 = (not Taste1) then gosub rauf ' Taste rauf erhöht Zähler um 1 > if Taste2 = (not Taste2) then gosub runter ' Taste runter verringert Zähler um 1 > if timer< 100 then goto #start1 ' Timer=100 ca 2000 ms=2 Sekunden > allleds_a = 0 > allleds_b = 0 > blank = 0 > goto start ' Rücksprung zum Start > > Gruß, GeKü > > > ********** > > |
Antwort schreiben |