Forum: Mikrocontroller und Digitale Elektronik PxOUT klapt nicht wie ich will


von Fabian H. (Firma: keine) (eimer)


Lesenswert?

Hi Leute,
irgendwie zweifel ich an mir selbst.

Ich für diesen Code aus:
1
P2DIR |= 0xFF;                            // LED geht an
2
  P2OUT |= 0xFF;    // LED geht aus
3
  P2OUT &=0x00; //LED geht an

Jetzt hab ich das Problem, bei P2DIR lege ich doch einfach nur fest, das 
das der PORT 2 als Ausgang beschaltet wird oder? Deshalb sollte da 
nichts lauchten tut es aber.
Ok, kann ich ja noch akzeptieren aber |= ist doch eine bitweises "Odern" 
damit sollte aus 1 | 1 = 1 sein aber die LED geht aus.
Genauso verwirrend 1 & 0 = 1 warum geht die LED an?

Entweder ich bin heute mit dem falschen Fuß aufgestanden und ich geh 
gleich heim oder ich sollte noch mal ein ordentliches Buch zum Thema 
lesen.

Hoffe ihr könnt mir helfen.

eimer

von Michael U. (amiga)


Lesenswert?

Hallo,

nichts gegen das Buch lesen, besser wäre es wohl vorerst, wenn Du ein 
paar infos geliefert hättest...

Welcher Prozessor eigentlich?
Wie sind die LEDs überhaupt wo angeschlossen?

PS: meine Glaskugel sagt, sie sind von +Ub gegen den Pin angeschlossen 
und  es ist eben so genau richtig.

Gruß aus Berlin
Michael

von Oliver J. (skriptkiddy)


Lesenswert?

Tippe mal auf nen MSP430.
P2OUT wird IMHO mit 0x00 initialisiert und wies ausschaut sind deine 
LEDs low-aktiv. Das bedeutet, dass du den P2OUT vor dem Schreiben von 
P2DIR mit 0xff schreiben musst, um versehentliches Leuchten zu 
vermeiden.

Gruß Skriptkiddy

von Fabian H. (Firma: keine) (eimer)


Lesenswert?

Alles klar zu wenig infos.

msp430f2370, wie es scheint sind die LEDs wirklich auf VDD, da könnte 
man auch von selbst drauf kommen, würde ich nie so machen, deshlab alles 
selber machen.

Damit hat sich mein Problem schon gelöst, danke für die Hilfe.

mfg eimer

von Oliver J. (skriptkiddy)


Lesenswert?

Fabian Hof schrieb:
> würde ich nie so machen, deshlab alles
> selber machen.

Wenn ein µC nur auf diese Weise eine LED teiben kann (z.B 8051), dann 
bleibt wohl nichts Anderes übrig, oder man verwendet zusätzliche Treiber 
(ULN2803 z.B).

Gruß Skriptkiddy

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.