MSP430 Tasterabfrage mit Erkennung der Drückdauer

OP #3381990
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
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
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

Eine eigene Frage? Dieser Thread ist über 13 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

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.