Forum: Mikrocontroller und Digitale Elektronik Taster abfragen msp430 Launchpad


von Manuel Volk (Gast)


Angehängte Dateien:

Lesenswert?

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.

von Manuel Volk (Gast)


Lesenswert?

Danke schon mal im vorraus für Antworten.

von Eumel (Gast)


Lesenswert?

Hast du dir mal die Tutorials von TI angeschaut?

von ./. (Gast)


Lesenswert?

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.

von Manuel Volk (Gast)


Lesenswert?

Ja hab ich aber da ist kein Beispiel was mir da wirklich weiter hilft.

von Eumel (Gast)


Lesenswert?

Das glaub ich dir nicht.

von Manuel Volk (Gast)


Lesenswert?

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.

von Eumel (Gast)


Lesenswert?

Erzähl mal du genau machen willst. Poste mal den Programmablaufplan.

von Eumel (Gast)


Lesenswert?

da fehlte ein "was"

von Manuel Volk (Gast)


Angehängte Dateien:

Lesenswert?

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.

von Coder (Gast)


Lesenswert?

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.

von Karl H. (kbuchegg)


Lesenswert?

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.

von Manuel Volk (Gast)


Lesenswert?

Alles klar danke!

von Wastl F. (rescuetigerchen)


Lesenswert?

>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 ^^

von MSP (Gast)


Lesenswert?

Ich glaube die alten Launchpads hatten einen Pullup. Bei den aktuellen 
muss der interne Pullup aktiviert werden.

Taster und LED sind in den TI Demos erklärt:
http://processors.wiki.ti.com/index.php/MSP430_LaunchPad_PushButton

von ... (Gast)


Lesenswert?

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.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.