INFO - FAQ - CC2-Forum - CCPro-Forum |
> > > Hallo! > > > define z ad[5] > > > define k byte > > > define n byte > > > ... > > > k=z > > > for n=1 to k > > > . > > > . > > > next n > > > > > > ------------------------------------ > > > > > > jetzt mit neuer MICRO (V2.01) führt diese Schleife generell 255 Durchläufe aus, wenn ich aber schreibe: > > > > > > for n=0 to k > > > > > > funktioniert das wieder, der Zähler entspricht dem Wert des AD-Einganges. Woran liegt das? > > > Würde mich über eine plausible Antwort sehr freuen! > > Das Problem (bei allen C-Controls) ist, daß der Endwert genau erreicht werden muß. > > Wenn also in deinem ersten Fall z=0 ist, wird die Schleife 255 mal durchlaufen, da erst ein > > Byte-Wert von 256 gleich 0 ist. > > > > Cu Rene, > > alias Topmail > > > > Danke für die schnellen Antworten aber ich glaube mein Problem lag etwas tiefer. > Wenn ich wie oben k=z (also Übernahme des ad-wertes in k) geschrieben habe lief die Schleife immer 255x, auch bei ad auf Masse (ad-Eingang funktioniert!) wenn ich allerdings k=5 geschrieben habe dann lief das richtig, 5x die Schleife > > kann das jemand nachvollziehen oder erklären? Hallo Das hab ich dir doch bereits erklärt: Bei AD auf Masse ist K=0 FOR n=0 to k - bewirkt folgendes: n wird um eins erhöht (ist dann also 1) dann erfolgt der Vergleich ob es gleich k also Null ist deswegen läuft die Schleife 255 mal durch. Du musst dir vergegegenwärtigen dass zuerst die Incremetierung und dann erst der Vergelich erfolgt. Die Schleife läuft inmal durch wenn K=1 n wird um eins erhöht, ist also dann 1 der Vergleich danach ergibt n=k und die Schleife ist beendet. servus |
Antwort schreiben |