PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Brauche Hilfe - simples Bascom-Programm?



Powell
02.04.2007, 22:56
Hi

Ich moechte gerne folgendes Programm realisieren: Bei einem Tastendruck wird ueber den Debounce-Befehl zur Entprellung ein Sub aufgerufen. Darin wird ein Ausgang mit dem wait Befehl fuer eine bestimmte Dauer gesetzt. Soweit geht das ganze auch, doch jetzt moechte ich das Programm so abaendern, dass das Sub sofort abgebrochen wird sobald ich den Taster loslasse. Hat jemand eine Idee wie man es softwaremaessig umsetzen kann?
Taster wird gedrueckt->Sub wird ausgefuehrt->Sub wird beendet wenn Zeit abgelaufen ODER Taster losgelassen wird.

Gruesse Paul

Blauelf
03.04.2007, 09:16
Hallo Paul,

Vorschlag: Du verwendest statt einer Wartezeit von X Sekunden eine For-Schleife mit X*100 Durchläufen und einem 10ms-Wartebefehl. Nach jedem wait überprüfst du den Zustand deines Tasters (das dauert wesentlich weniger als 10ms, fällt also nicht auf), und wenn der Taster nicht mehr gedrückt ist springst du raus.
Welche Verrenkungen für das vorzeitige Verlassen einer FOR-Schleife in Bascom notwendig sind weiß ich gerade nicht ("EXIT FOR"? Habe hier momentan keines), aber ich denke du wirst etwas finden ;)
Falls dieser BASIC-Dialekt sich zu sehr dagegen sträubt (habe genau das mal in Pascal nach dem Wechsel zu einem anderen Compiler gehabt) - FOR-Schleifen lassen sich zur Not auch durch WHILE-Schleifen nachbauen... (aber wirklich nur zur Not!)

Viele Grüße
Der Blauelf

Vitis
03.04.2007, 23:46
ne for-schleife kannst du ganz einfach verlassen, indem du die
Schleifenbedingung erfüllst.
also beispiel:

for wert=0 to 5
wert=5
next

diese Schleife sollte nur einmal durchlaufen werden