Gnaaah, ich bin doof!
hinter While und die Bedingung gehört natürlich KEIN "THEN"
so isses für den compiler richtig, ich probiers gleich mal aus:
Und es funktioniert! ich editiere noch den anderen Beitrag, damit der auch richtig ist.Code:$regfile = "m8515.dat" $framesize = 32 $swstack = 32 $hwstack = 32 $crystal = 8000000 Config Pina.0 = Input 'Pin y von Port x als Eingang Porta.0 = 1 'Pullup von dem pin an Taster Alias Pina.0 'Pin y von port x heißt jetzt "Taster" (kann sein, dass es "Taster Alias PORTx.y" heißen muss) Config Porta.1 = Output 'Pin q von Port p ist dein output, wird nach 3 sec taster=0 getoggelt Ausgang Alias Porta.1 'jetzt Heißt Der Pin Q Von Port P "Ausgang" Dim Zaehler As Byte 'Variable "Zähler deklariert" 'Hauptschleife kommt jetzt: Do Zaehler = 0 While Taster = 0 'der Taster an Pin y von Port x muss nach GND gehen, ' darum ist logisch 1 hier low, also 0. wenn Taster = 1, ' dann hört die while-schleife auf Zaehler = Zaehler + 1 'die Variable "Zähler wird um 1 erhöht" If Zaehler = 30 Then 'wenn Zähler 30 mal um eins erhöht wurde, 'was aufgrund der waitms-funktion nur 10mal pro sec passiert, dann Toggle Ausgang 'wird der ausgang getoggelt Zaehler = 0 'der zähler wieder rückgesetzt End If 'und neu angefangen Waitms 100 'das ist die waitms- funktion. wenn du genauere ergebnisse haben willst, 'setze sie auf 10 und bei der if- anweisung "if Zähler = 300" 'dann könnte nur das byte nicht mehr ausreichen, 'als welches die Variable "Zähler " definiert ist. Wend Loop








Zitieren

Lesezeichen