mikrocontroller.net

Forum: Compiler & IDEs 2 maliger Tastendruck erkennen


Autor: Peter Arik (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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ß.

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: peter dannegger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nimm ne universelle Tastenentprell- und Auswerteroutine, z.B.:

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

und dann einfach:
//
  for(;;){
    while( !get_key_press( 1<<KEY0 )){
      // Schleife 1
    }
    while( !get_key_press( 1<<KEY0 )){
      // Schleife 2
    }
  }


Peter

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.