MSP430 Tasterabfrage mit Erkennung der Drückdauer

OP #3381990
Lesenswert?
• ▲
▼
Hallo!

Ich brauche für meine Projekt eine Tasterabfrage inkl. Entprellung und 
Unterscheidung der Drückdauer.

Ich habe versucht die Komfortroutine unter 
http://www.mikrocontroller.net/articles/Entprellung zu verstehen. Da ich 
aber Anfänger bin und diese Routine für AVR geschrieben wurde fällt es 
mir sehr schwer diese zu verstehen. (z.B. was ist sei(),cli() 
atomic,...)
Hat jemand von euch eine Routine für den MSP430 von der ich ausgehen 
kann? Damit wäre mir sehr geholfen.

Danke!
Gast #3382134
Lesenswert?
• ▲
▼
Ich habe mir dafür Wrapperfunktionen geschrieben, die die entsprechenden 
MSP430 Interrupt-Register-Bits schreiben. Das kannst du auch selbst. 
Oder du machst das als Makro.
Je nach Compiler gibt es das evtl. auch als "built-in" - weiß ich nicht.
OP #3382637
Lesenswert?
• ▲
▼
Danke Peter!

Und der Atomic-Befehl macht das gleiche oder?
Gut das sich gleich der "Erschaffer" meldet ;)
Ich bin die ISR mal mit einen Bsp. Schritt für Schritt durchgegangen.
Was mir unter anderem noch nicht ganz klar ist, ist foldende Aussage:


  i = key_state ^ ~KEY_PIN;                       // key changed ?

i enthält an dieser Stelle für jede Taste, die sich im Vergleich mit dem 
vorhergehenden entprellten Zustand (keystate) verändert hat, ein 1 Bit.

Zu Beginn hätte ich key_state als 0000 0010 und KEY_PIN als 0000 0000 
angenommen. Wenn jetzt zu Beginn auch lauter 0 in ct0  und ct1 
vorkommen, wäre i ja 1111 1101. Was genau gegensäztlich zu deiner 
Aussage ist.

Und ist es schon egal wie ich ct0 und ct1 und Beginn definiere? 0x00 
oder 0xFF

@info
Wrapperfunktion sagt mir momentan gar nichts, aber ich werde mal danach 
suchen.

Antwort schreiben

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.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.