MSP430 G2231 Pull Up Widerstand !

OP (Firma: Hochschule Baden-Württenberg) #2188903
Lesenswert?

Hi Leute!

ich habe folgendes Problem: ich habe ein Programm-Code für den MSP430 
G2231 geschrieben aber das Board ist sehr empfindlich allein beim 
Berühren des Boards schalten die PINs schon die LEDs ein,obwohl ich die 
Low-Power-Modes alle ausgeschaltet habe.
Kann man was dagegen tun ?
Habt ihr eine Ahnung wie man einen Pull-Up Widerstand softwaremässig mit 
dem Controller machen könnte.

Danke im Voraus !

Peter Hans.
Angehängte Dateien:
Gast #2188929
Lesenswert?

Hi Peter,

wenn ich die Firma sehe, werde ich schon wieder ganz kribbelig ;)
Du bist hoffentlich Maschinenbauer.
Abgesehen, das der ganze Programmaufbau ziemlicher Murks ist.
Man setzt einmal alle Grundeinstellungen (WDT, Ports, timer,etc.).
Dann hat man meist eine Schleife, in der etwas dauernd passiert.
Du dödelst dauernd in Main auf diesen Einstellungen.

Dann sind nicht benutzte Eingänge tödlich.
Unbenutzte Ports sollen Ausgänge sein (TI).

Du kennst die TI-Beispiele und K&R und
http://processors.wiki.ti.com/index.php/Getting_Started_with_the_MSP430_LaunchPad_Workshop

??
Gruss
Dietmar
Gast #2188966
Lesenswert?

Peter Hans schrieb:
> obwohl ich die Low-Power-Modes alle ausgeschaltet habe

Hat ja nichts damit zu tun. Alle CMOS Eingänge sind so empfindlich!

Peter Hans schrieb:
> Habt ihr eine Ahnung wie man einen Pull-Up Widerstand softwaremässig mit
> dem Controller machen könnte.
1
P1REN |= (BITXY); // Schaltet Widerstand ein
2
P1OUT |= (BITXY); // Schaltet Pull-Up ein - alternativ &= ~(BITXY) fuer Pull-Down
OP (Firma: Hochschule Baden-Württenberg) #2188968
Lesenswert?

Hi Dietmar,

Danke für deine Antwort aber das ist so ein Beispielprogramm um mich 
vertraut mit dem Controller zu machen. Was die Firma angeht sagen wir 
halt ich bin Student und brauche deine Hilfe.
Allerdings konkretes was kann ich machen ich habe versuch alle 
unbenutzte Ports als Ausgänge zu definieren mit P1DIR |= 0xFF aber es 
bringt halt nichts.

Danke !

Peter Hans
OP (Firma: Hochschule Baden-Württenberg) #2189025
Lesenswert?

Hi Leute !

Offnung ist da Gott sei Dank!
ich habe in main meine Ausgänge mit (PORT 1.0 LED1) P1REN |=0x01; und 
(PORT 1.6 LED2) P1REN |=0x40; gesetzt wie du mir es empfolen hast Dennis 
und es funktioniert das Board ist nicht mehr so empfindlich zwar aber 
die beiden LED leuchten aber nur gering.

Kann ich noch was dagegen tun damit sie richtig leuchten ???

Danke alle schon für Ihre schnellen Antworte.

Peter Hans.
Gast #2189033
Lesenswert?

Du solltest natürlich, wenn du auf Interrupts an den Ports reagieren 
willst, noch die Register P1IES setzen, je nachdem, ob du auf die 
fallende oder steigende Flanke reagieren willst.

Ich weiß grad nicht auswendig, was per default gesetzt ist.
Gast #2189091
Lesenswert?

Die Pullups (oder Pulldowns) musst du an den Eingängen aktivieren nicht 
an den Ausgängen.
An Eingängen sorgen sie für einen definierten Pegel und verhindern so, 
dass Pegelwechsel erkannt und damit Interrupts ausgelöst werden. Wenn du 
sie an den Ausgängen aktivierst kann nur noch ein kleiner Strom fließen 
- die LEDs leuchten nur noch schwach.
#2217274
Lesenswert?

also ich habe im Datenblatt gelesen das über die Pull Up Pull Down 
Widerstände ~20 mA fließen können. das habe ich auch ausprobiert. an 
einen Ausgang eine LED mit Vorwiderstand, wobei der Vorwiderstand so 
ausgelegt war das aus dem Ausgang 20 mA in die LED fließen, 
angeschlossen.
Dann habe ich den Pull Up Widerstand aktiviert der Pin auf Ausgang 
gesetzt und den Ausgang auf High.
Und siehe da die LED leuchtete. Mit einem Multimeter den Strom gemessen 
und es flossen wirklich 20 mA. dies habe ich mit mehreren Pins gemacht 
und das ganze über 24h laufen lassen. dem Controller hat es nichts 
geschadet.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren