MSP430G2553 Taster-Problem

Gast #3162836
Lesenswert?
• ▲
▼
Hallo Leute!
Ich arbeite noch nicht lang mit Microcontrollern und verzweifle an 
einer, wahrscheinlich ziemlichen simplen Sache...

Zuerst zum Controller; Es ist ein MSP430G2553 Launchpad von TI, ohne 
weitere Prepheriegeräte, quasi im Auslieferungszustand.

Nun will gern ein Assembler-Programm drauf laufen lassen, das auf 
Tastendruck (P1.3) von der einen LED(P1.0) zu anderen LED(P1.6) wechseln 
lässt.

Mein Problem dabei: Der Controller und auch die Status-Ansicht im 
Code-Composer zeigen mir nicht an das ich Taste drücke. Der Status 
bleibt immer auf "0".

Hier mal mein Code:
1
;--------------------------------------------------------------------------------------
2
; Module/Filename: Lichtlaufleiste
3
; Hw-System: MSP430G2553
4
; IDE: CodeComposer Studio, Rel. 4.2.4.00033
5
; Purpose: Lichtlauf LED
6
; Dates: May, 9. 2013
7
;--------------------------------------------------------------------------------------
8

9
; start adresse der Anwendung
10
  .global main
11
  
12
; einbinden C-headerfile
13
  .cdecls "msp430g2553.h"
14
  
15
; constant definition - if requested
16
  .sect .const
17
  
18
; variable definitions - if requested
19
  ;.bss
20
  
21
; application program
22
  .text
23
main:
24
  
25
; init stackpointer
26

27
  
28
  mov.w   #0280h,SP               ; initialize stack pointer
29
    mov.w   #WDTPW+WDTHOLD,&WDTCTL  ; stop watchdog timer
30
  
31
; init port hardware
32
  bic.b #0xFF, &P1SEL    ;I/O-Mode for P1.x
33
  bic.b #0xFF, &P1DIR    ;Input_Mode for P1.x (who knows what the previous-state is?!)
34
  bic.b #0xFF, &P1OUT    ;set all LED off
35
  bis.b #0x01, &P1OUT    ;set LED 1 on
36
  bis.b #01000001b, &P1DIR ;Output-Mode for P1.0 and P1.6
37

38
  
39
bigloop:
40

41
;manual
42
manual_loop1:
43
  bit.b #00001000b, &P1IN    ;test if momentary switch is set (P1.3)
44
  JC manual_loop1        ;jump back to manual_loop1if momentary switch is not set
45

46
  call #AusgabeSchieben
47

48
manual_loop2:  
49
  bit.b #0x08, &P1IN    ;test if momentary switch is set (P1.3)
50
  JC manual_loop2      ;jump back to manual_loop2 if momentary switch is set
51
  JNC manual_loop1    ;jump to manual_loop1 if momentary switch is not set
52
  
53
  
54
;************ AusgabeSchieben ********************
55
AusgabeSchieben:
56
  clrc
57
  bit.b #0x01, &P1OUT    ;test if MSB is 1 or 0
58
  JC setled2on
59
  bic.b #0xFF, &P1OUT    ;set all LED's off
60
  bis.b #0x01, &P1OUT    ;set LED 1 on
61
  ret
62
setled2on:
63
  bic.b #0xFF, &P1OUT    ;set all LED's off
64
  bis.b #0x40, &P1OUT    ;set LED 2 on
65
  ret
66
  .end

An sich ja ne simple Sache, wie gesagt, nur dieser Taster(P1.3) machst 
halt nicht.

Muss ich evtl. irgendwelcher Jumper umstecken ? Sind alle noch drauf, 
wie gesagt, Auslieferungszustand (bis auf das Programm)
Gast #3162882
Lesenswert?
• ▲
▼
ok, Die stelle ich mit dem Register &P1REN ein, richitg ?
Default sind die auf 0, hab ihn jetzt mal auf 1 gestelt, also
bis.b 0x08, &P1REN
tut sich aber trozdem nix :(

was machen die denn genau für mich ?
Gast #3162890
Lesenswert?
• ▲
▼
Ich hab' das Launchpad auch, ist schon ein weilchen her. Mit dem Pull-Up 
sieht der Taster VCC, durch das druecken der Taste wird das Potential 
auf GND gezogen. Du musst den Pin von Taster als Eingang und 
konfigurieren und den Pull-Up aktivieren.  Ich habe allerdings nicht den 
Schaltplan zur Hand.
Gast #3164516
Lesenswert?
• ▲
▼
>Bei mir war R34 aber nicht bestückt.

Auch bei keinem meiner Launchpads Rev.1.5 ist R34 bestückt. Hängt 
wahrscheinlich mit dem historischen niedrigen Preis von unter 5 Euro 
zusammen. Jetzt, wo der Preis für ein Launchpad mehr als verdoppelt 
wurde, kann man auf R34 auf der Platine hoffen.

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.