Hilfe bei Counter!

Gast #279785
Lesenswert?

Tag Leute!

Ich programmier grad nen Counter, den ich für n größeres Projekt
brauch! Steh grad aber voll derbe aufm Schlauch!

Ich will pro Tastendruck einen Schritt höher Zählen!
Ich programmier grad in Basic und hier mein Code (natürlich nur der
Hauptteil):

Do

If Pina.0 = 0 Then
 Count = Count + 1
End If

 Locate 1 , 1
 Lcd Count

Loop

So zählt es ja aber wenn ich draufbleib sehr schnell hoch!
Ich will aber pro Tastendruck (drücken -> loslassen) nur eins
hochzählen!

Könnt ihr mir bitte kurz auf die Sprünge helfen??

gruß
#279788
Lesenswert?

> Taster entprellen mit Warteschleife.

Geniale Idee...
Warteschleifen sind die beste Lösung, einen Controller zu beschäftigen,
ohne dass etwas Gescheites dabei heraus kommt.

Zum Entprellen gibt es in BASCOM ein Schlüsselwort. Dürfte in der Doku
oder Hilfe beschrieben sein.

Damit der Counter nur die Anzahl der Tastendrücke zählt, muss man eine
Routine schreiben, die den aktuellen (entprellten!) Tastenzustand mit
dem (gemerkten) vorherigen vergleicht und den Counter nur dann erhöht,
wenn der Zustand von unbetätigt auf betätigt wechselt.

Beispiele in ASM und C findest du, wenn du in der Artikelsammlung nach
"entprellung" suchst. In BASCOM habe ich keine Lösung, da ich BASIC
auf AVRs nicht benutze.

...

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren