Forum: Compiler & IDEs 2 maliger Tastendruck erkennen


von Peter Arik (Gast)


Lesenswert?

Hallo,

Ich habe ein kleines Problem. Bin noch relativ neu in der GCC
Programmierung.
zur Sache: Ich möchte das z.b. eine schleife durchlaufen wird, wenn
PIND.0 == 1 ist. ( Taster betäätigt )
Wenn aber danach nochmal PIND.0 == 1 ist (Taster nochmal betätigt),
soll er in einer anderen schleife weiter machen, oder so, auf jedenfall
die laufende schleife verlassen.
muss ich da eine Variable definieren, die bei einmaligem drücken des
Tasters = 1 wird, bei zweitem mal drücken wieder = 0 wird, und dann
nach status der variablen die schleifen ausführen???
Also quasi : wenn Variable = 0 dann bearbeite diese schleife.... wenn
variable 1 wird dann verlass die aktuelle schleife und/oder führe dann
die andere schleife aus... etc.

Wie kann ich denn sowas machen? geht das einfacher als mit einer
variablen irgendwie???


Vielen Dank. hoffe es hat überhaupt jemand verstanden was ich meine.


Danke und Gruß.

von Karl H. (kbuchegg)


Lesenswert?

Du wirst dir irgendwo den Zustand 'Taster wurde bereits
betaetigt' merken muessen. Eine Variable ist sicherlich
die einfachste Moeglichkeit dafuer.

Du klingst so als ob du panische Angst vor Variablen
haettest. Es gibt keinen Grund dazu.

von peter dannegger (Gast)


Lesenswert?

Nimm ne universelle Tastenentprell- und Auswerteroutine, z.B.:

http://www.mikrocontroller.net/forum/read-4-310276.html#new

und dann einfach:
1
//
2
  for(;;){
3
    while( !get_key_press( 1<<KEY0 )){
4
      // Schleife 1
5
    }
6
    while( !get_key_press( 1<<KEY0 )){
7
      // Schleife 2
8
    }
9
  }


Peter

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.