
|
INFO - FAQ - CC2-Forum - CCPro-Forum |
|
> > ich habe in einem Programm einen ZĂ€hler gebaut, der im Sekundentakt um +1 zĂ€hlt. > > > > Nun ist es fĂŒr das weitere Programm wichtig, dass ich bei einem geraden bzw. ungeraden ZĂ€hlerstand bestimmte SchaltzustĂ€nde auslöse. > > > > Sollte so aussehen: > > > > if zaehler "gerade" then led = 0 > > if zaehler "ungerade" then led = 1 > > > > Hat jemande eine Idee, wie ich gerade bzw. ungerade definiere. > > "Gerade" und "ungerade" ist ja definiert als "ohne", bzw. "mit" Rest durch 2 teilbar. Den "Rest einer > Division" ermittelt die modulo-Funktion. Die heisst im CC-Basic "mod". Da der Rest zufĂ€llig eben nur 0 oder 1 > sein kann, kann man Deine Statements oben ganz kurz als > > led = zaehler mod 2 > > schreiben. > > Wenn ich allerdings richtig vermute, und led eine Bit-Variable (z. B. ein Port) ist, dann ist die Zuweisung > led = 1 unzulĂ€ssig. ZulĂ€ssige Zuweisungen an Bit-Variablen sind beim CC-Basic nur 0 und -1 (minus 1) > (oder die entsprechenden Konstanten ON und OFF oder andere Bitvariablen). > > Aber das kriegt man auch noch in einer Zeile unter: > > led = -(zaehler mod 2) > > HTH > > Bye > Achim Danke fĂŒr die schnelle Antwort. Es hört gar nicht mehr auf zu blinken. GruĂ Richard |
| Antwort schreiben |