Forum: Mikrocontroller und Digitale Elektronik msp430 LaunchPad - pulldown am Taster tut nicht (pullup funktioniert)


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Tom Z. (knopfzelle)


Bewertung
0 lesenswert
nicht lesenswert
Hi,

ist am Taster S2 der Pullup-Widerstand aktiv (P1OUT.3=1), ist P1IN.3 im 
ungedrückten Zustand high, gedrückt low -alles ok. Versuche ich aber den 
Taster am Pulldown zu betreiben, liegt an P1IN.3 low an -ob S2 gedrückt 
ist oder nicht...

Die Reihenfolge P1DIR->P1REN->P1OUT habe ich eingehalten. P1REN.3 bleibt 
auch korrekterweise 1, wird nicht plötzlich 0 oder so.

1
void main(void) {  
2
  WDTCTL=WDTPW+WDTHOLD;              
3
4
  P1DIR = BIT0+BIT6;          
5
  P1REN = BIT3;
6
  P1OUT = 0;
7
8
  while(1);
9
}



Family Guide:

1
8.2.4 Pullup/Pulldown Resistor Enable Registers PxREN
2
3
Each bit in each PxREN register enables or disables the pullup/pulldown resistor of the corresponding I/O
4
pin. The corresponding bit in the PxOUT register selects if the pin is pulled up or pulled down.
5
Bit = 0: Pullup/pulldown resistor disabled
6
Bit = 1: Pullup/pulldown resistor enabled
7
8
9
8.2.2 Output Registers PxOUT
10
11
[...]
12
If the pin's pullup/pulldown resistor is enabled, the corresponding bit in the PxOUT register selects pullup
13
or pulldown.
14
Bit = 0: The pin is pulled down
15
Bit = 1: The pin is pulled up



Klar lässt sich das in jedem Fall auch softwaretechnisch lösen. Ich 
würde aber gerne wissen was da los ist und was ich falsch mache. Könnt 
ihr mir da helfen bitte?

Danke euch schonmal!

: Bearbeitet durch User
von Rufus Τ. F. (rufus) (Moderator) Benutzerseite


Bewertung
0 lesenswert
nicht lesenswert
Wenn Du im µC einen Pulldown-Widerstand nutzen willst, um einen Taster 
damit zu betreiben, muss der Taster natürlich im geschlossenen Zustand 
Versorgungsspannung auf den µC-Pin legen, das bedeutet, daß er 
elektrisch anders angeschlossen werden muss als bei Verwendung eines 
Pullups.

Der Taster hat zwei Anschlüsse, üblich ist es, einen davon mit GND zu 
verbinden, den anderen über einen Pullup mit dem µC-Eingang zu verbinden 
(oder eben einen µC-Eingang mit integriertem Pullup).

Für Deinen Fall muss aber der eine Anschluss des Tasters mit VCC 
verbunden werden, damit der andere Anschluss über einen Pulldown mit dem 
µC-Eingang verbunden werden kann.

Klarer?

von Lothar M. (lkmiller) (Moderator) Benutzerseite


Bewertung
0 lesenswert
nicht lesenswert
Tom Z. schrieb:
> Ich würde aber gerne wissen was da los ist
Dein Schaltplan mit Pullup im µC:
1
                  |      µC
2
          Vcc o---+---o-- Vcc  
3
                  |   |
4
                  |   -
5
                  |  | |
6
                  |  | |
7
                  |   -
8
                  |   |
9
             .----+---o-----> Pin-Register
10
             |    |
11
             |    |
12
          |-\     |
13
             |    |
14
             |    |
15
             |    |
16
       GND o-o----+------ GND
17
                  |
Dein Schaltplan mit Pulldown im µC (irgendwie logisch, dass da immer 0 
gelesen wird):
1
                  |      µC
2
          Vcc o---+------ Vcc  
3
                  |   
4
                  |   
5
                  |  
6
                  |  
7
                  |  
8
                  |   
9
             .----+---o-----> Pin-Register
10
             |    |   |
11
             |    |   -
12
          |-\     |  | |
13
             |    |  | |
14
             |    |   -
15
             |    |   |
16
       GND o-o----+---o-- GND
17
                  |
Und so ginge das mit Pulldown und Taster:
1
                  |      µC
2
       Vcc o-o----+------ Vcc  
3
             |    |   
4
             |    |   
5
          |-\     |  
6
             |    |  
7
             |    |  
8
             |    |   
9
             '----+---o-----> Pin-Register
10
                  |   |
11
                  |   -
12
                  |  | |
13
                  |  | |
14
                  |   -
15
                  |   |
16
       GND o------+---o-- GND
17
                  |

: Bearbeitet durch Moderator

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
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.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.