
|
INFO - FAQ - CC2-Forum - CCPro-Forum |
|
||
|
sorry.. das kannste knicken da unten - kommt davon, wenn mans nicht vollständig testet. nach beendigung des vorgangs erhing sich der spaß. habs also umgebastelt: der vorteil dabei: 1. jetzt dimmt das ding wirklich eine stunde lang, die zeit kannst du nach bedarf ändern, indem du die konstante variierst. (alle dt_const * 20 ms wird ein digit reduziert) 2. das programm läuft jetzt unabhängig von der systemuhr und muss deshalb auch nich zwischendurch angehalten werden. es kann also in der hauptschleife und durch weitere subroutinen locker erweitert werden. das isses: define dt_const 706 'Dimmerregelzeit-Konstante (20-ms-steps) define timerini word define dimlev byte 'Dimmerpegel define diminproc bit[192] 'Flag: on = ein Dimm-Prozess laeuft define key_1 port[1] define key_2 port[2] define dimport da[1] deact key_1 : deact key_2 #DIM_RESET diminproc = off dimlev = 0 dimport = 0 #MAIN 'Hauptschleife if not key_1 then gosub DIM_START if not key_2 then goto DIM_RESET if diminproc then gosub DIM_DO goto MAIN #DIM_START diminproc = on dimlev = 255 dimport = 255 timerini = timer #DIM_DO if dimlev = 0 then goto DIM_END if abs (timer - timerini) < dt_const then goto DIM_END timerini = timer dimlev = dimlev - 1 dimport = dimlev if dimlev = 0 then diminproc = off #DIM_END return |
| Antwort schreiben |