Hallo!
Man kann Tasten auch ohne unnötigen Zeitverlust und Verzögerungsschleife abfragen (testen). Im Code habe ich ein PAD dafür skizziert. Bei dieser Methode geschieht aber nichts, wenn die Taste gedrückt gehalten wird, da der PIC unendlich aufs Loslassen wartet. Deswegen eignet sie sich nicht für alle Programme.
Der PIC prüft eine Taste und wenn sie nicht gedrückt ist, geht er sofort weiter/zurück. Wenn sie gedrückt wird, geht er in die endlose Schleife und wartet, bis sie los gelassen wird. Erst dann macht er was, z.B. erhöht ein Zähler usw.
Die Art der Tastenentprellung habe ich mehr praktisch als theoretisch entdeckt. Erst danach habe ich nachgedacht und festgestellt, dass es menschliche "Verzögerungsschleife" ab drücken bis zum Loslassen der Taste ausnutzt.
Ich habe es aus dem Tread entnommen und modifiziert:
https://www.roboternetz.de/phpBB2/ze...ght=entprellen
MfG
Code:
V
Taste gedrückt ? N > weiter bzw."return"
J
V
|
|
|
.----------->V
| Taste losgelassen ? J >.
| N |
| V |
`------------´ |
V
Zähler erhöhen
usw.
V
weiter bzw."return"
J = ja
N = nein
Lesezeichen