mikrocontroller.net

Forum: Compiler & IDEs Frage zu Bulletproof Tastenenprellung


Autor: Werner (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,
kann mir jemand erklären, was ich in dem Programm ändern muss, damit das 
funktioniert?
Ich möchte folgendes
 - Key0 den Ausgang immer einschalten
 - Key2 den Ausgang immer ausschalten
 - Key1 soll den Ausgang toggeln.

Wenn ich jetzt die toggeln Taste drücke ist eher wie ein 
Zufallsgenerator als ein Toggeln.

Das Debounce beruht auf dem Code von Peter Danneger, ich habe nur die 
Funktionen für wiederholtes und langes drücken rausgenommen.

Danke
  Werner

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Deine Logik ist falsch.

Man kann zwar mehrere Tasten dem getkeypress übergeben, aber dann hast 
Du eine ODER-Verknüpfung und weißt nicht, durch welche Taste der Test 
wahr wird.


Warum machst Du es denn überhaupt so kompliziert ?

Mach einfach 3 Abfragen, je eine fürs Setzen, Löschen und Togglen, dann 
gehts auch.


Peter

Autor: Werner A. (homebrew)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ok, hat sich erledigt. Der entgültige Fehler lag in einer doppelten 
Eingangsdefinition. Ich hatte für das Testprogramm nur versucht das 
ganze auf ein Minimum zu reduzieren.

danke
  Werner

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
P.S.:
Habs nochmal genauer angesehen.

Der Code sieht zwar ungewöhnlich aus, könnte aber doch funktionieren.

Dann könnten die Pullups an den Tasten fehlen.


Peter

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Werner A. wrote:
> Ok, hat sich erledigt. Der entgültige Fehler lag in einer doppelten
> Eingangsdefinition.

Oder das.


Peter

Autor: Werner A. (homebrew)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
;-)

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.