Taster abfragen msp430 Launchpad

Gast #2778790
Hallo wie fragt man einen Taster richtig ab ich bekomme das nicht 
richtig hin.

Ich füge mal meinen Versuch bei. Wäre toll wenn mir jemand ein 
kommentiertes Beispiel stellen könnte damit ich das verstehe.

Ich nutze wie schon gesagt das Launchpad von TI mit einem msp430g2231.
Angehängte Dateien:
Gast #2778820
Wie mein Vorredner schon sagte hat TI gute Beispiele und Dokumentation. 
Wenn du zu faul zum Lesen und/oder suchen bist, wird dir keiner helfen.

Was funktioniert denn nicht?
-Benutzt du das Launchpad? Dann brauchst du nicht extra den Pullup 
einschalten - der ist schon extern da.
-Wenn du Interrupts haben möchtest musst du noch GIE setzen und einen 
Vector definieren.
-Debounce: http://www.mikrocontroller.net/articles/Entprellung 
Alternativ C24 auf dem Launchpad mit 100n bestücken.

Konkrete Fragen werden gern beantwortet aber "Bitte programmiert mir XY" 
nicht.

Viel Erfolg.
Gast #2778847
Das war auch nicht meine Absicht! Aber da ich keine Beispiele finde 
bitte ich mir eins zu geben, das auf das Launchpad bzw. auf den 
msp430g2231 zugeschnitten ist um das vorgehen zu verstehen.
Gast #2778913
Ich habe jetzt ein funktionierendes Programm aber ich denke das es sehr 
unschön ist. Mich wundert vor allem das sie auch Funktioniert ohne das 
BIT3 als Eingang deklariert wird.
Angehängte Dateien:
Gast #2778926
Manuel Volk schrieb:
> Das war auch nicht meine Absicht! Aber da ich keine Beispiele finde
> bitte ich mir eins zu geben, das auf das Launchpad bzw. auf den
> msp430g2231 zugeschnitten ist um das vorgehen zu verstehen.

Also bei deinem Launchpad gibt es eine Demo, dass per default auf dem uC 
drauf ist. Ich glaube man wird da auf das Launchpad-Wiki verwiesen, da 
beim Launchpad keine CD dabei ist. Mein Tipp: Das Launchpad-Wiki.
#2778937
Manuel Volk schrieb:
> Ich habe jetzt ein funktionierendes Programm aber ich denke das es sehr
> unschön ist. Mich wundert vor allem das sie auch Funktioniert ohne das
> BIT3 als Eingang deklariert wird.

Nun ja.
So ein Pin kann ja nur entweder Eingang oder Ausgang sein. Einen 3.ten 
Zustand gibt es nicht. Und irgend einen der beiden Zustände muss der Pin 
auch nach dem Einschalten haben.

Output wäre gefährlich, weil der Pin dann unter Umständen etwas 
antreibt, bis dann irgendwann dein Programm die Kontrolle kriegt. Also 
wird wohl Input die bessere Alternative als Default sein, denn damit 
'schnüffelt' der µC höchstens ein wenig, was sich am Pin tut, aber er 
stellt erst mal nichts an.
#2778960
>P1OUT = BIT6;
 >         P1OUT = 0;

wenn ich das richtig sehe, dann wird deine led nie leuchten, weil sie 
sofort wieder auf null gesetzt wird.
du bräuchtest so etwas ähnliches wie

if key pressed;
 led green on;
else
 led red on;

dazu noch eine tastenentprellung, sonst flackern die lichter ^^
Gast #2779196
Fuer das Knoebbi auf dem Launchpad:
1
waitforkey
2
  call  #key
3
  jnz  waitforkey
4
  call  #key
5
  jz  waitforkey
6
  ret
7

8
key  bit.b  #8,&P1IN
9
  jnz  keyr  ; key not pressed => NZ
10
relkey  call  #delay
11
  bit.b  #8,&P1IN
12
  jz  relkey
13
  bis.b  #2,SR  ; set zeroflag
14
keyr  ret    ; key pressed => Z

waitforkey wartet bis es denn endlich mal gedrueckt wird.
key kehrt mit dem Status im ZF sofort zurueck.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 14 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.