Forum: Mikrocontroller und Digitale Elektronik MSP430 G2231 Pull Up Widerstand !


von Peter H. (Firma: Hochschule Baden-Württenberg) (durock)


Angehängte Dateien:

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.

von Jens (Gast)


Lesenswert?

Launchpad? Denk an die Jumper auf dem Board!
Widerstände: P1REN, abhängig von P1OUT

von Peter H. (Firma: Hochschule Baden-Württenberg) (durock)


Lesenswert?

Hi Jens!

Danke für deine schnelle Antwort erstmal. Tatsächlich das ist der 
Launchpad. Was hast du mit dem Jumper gemeint ?
Was sollen wir genau machen ?

Danke !

Peter Hans

von PICler (Gast)


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

von Dennis (Gast)


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

von Peter H. (Firma: Hochschule Baden-Württenberg) (durock)


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

von Peter H. (Firma: Hochschule Baden-Württenberg) (durock)


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.

von Dennis (Gast)


Lesenswert?

Ich glaube, du musst nochmal genau schreiben, was du überhaupt willst.

Ich dachte, sie sollen nicht mehr leuchten, wenn du sie 
berührst...jetzt:

Peter Hans schrieb:
> Kann ich noch was dagegen tun damit sie richtig leuchten ???

von Dennis (Gast)


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.

von Stefan (Gast)


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.

von Dennis (Gast)


Lesenswert?

Stefan schrieb:
> Wenn du
> sie an den Ausgängen aktivierst

Das geht nicht!

von Stefan (Gast)


Lesenswert?

Klar geht das, nur machen sollte man es nicht. Peter Hans hat's gemacht 
und das Ergebnis gesehen.

von Peter H. (Firma: Hochschule Baden-Württenberg) (durock)


Lesenswert?

Hi !

Was wäre den Befehl um es zu aktivieren an den Eingängen mit P1IES läuft 
es trotzdem nicht die LEDs blinken aber als ob nur wenig strom fließen 
würde.
wo soll ich P1REN schreiben.

Danke!

Peter Hans

von Dennis (Gast)


Lesenswert?

Peter Hans schrieb:
> wo soll ich P1REN schreiben.

An deine Eingänge. Zumindest an die, die du als Eingänge für Abfragen 
benutzt. Die unbenutzten entweder als Ausgang schalten, oder als Eingang 
lassen mit Pull-Up/Down. Ohne geht es auch, aber dein Stromverbauch kann 
dadurch ansteigen.

von Tobias K. (kurzschluss81)


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.

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.