PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Output PORTS High und Low vertauscht?



187nitro
26.04.2010, 21:40
Hallo liebe Community,

setze ich PORTC.2 = 0 ist die LED an. Setze ich PORTC.2 = 1 ist die LED aus.
Wie kann das sein?
Das ist übrigends auch bei anderen Sachen so nicht nur bei LEDs.

Habe ich den ATMEGA32 falsch verkabelt?

Evtl hat jemand einen Tipp für mich?

Vielen Dank

for_ro
26.04.2010, 21:49
Hallo,
PortC.2=0 heißt nicht, dass die angeschlossene LED ausgehen soll. Es bedeutet, dass der Pin auf GND Level (0V) liegt. PortC.2=1 entsprechend, dass der Pin auf VCC Level liegt.
Wenn du deine LED mit der Anode an VCC und der Kathode an den Pin angeschlossen hast, dann lässt PortC.2=0 tatsächlich die LED leuchten.

187nitro
26.04.2010, 22:17
Hm danke für deine Antwort.

Ich habe jetzt mal eine 7 Segment Matrix LED Anode genommen und habe CA an gnd gelegt.
Mit dem jeweiligen PORT auf 1 müsste es doch leuchten oder? Tut es aber nicht.
Lege ich die 7 Segment Matrix an gnd leuchtet sie weder mit PORT.x = 1 noch mit PORT.x = 0.

D.h. ich muss die LED Matrix an VCC legen und dann kann ich es nur mit PORT.x = 0 einschalten.

for_ro
26.04.2010, 23:02
Ich habe jetzt mal eine 7 Segment Matrix LED Anode genommen und habe CA an gnd gelegt.
Wenn du die Anode an GND legst, wird die LED nie leuchten, weil sie falsch herum gepolt ist. Ob Matrix oder Einzel-LED ist dabei egal.


D.h. ich muss die LED Matrix an VCC legen und dann kann ich es nur mit PORT.x = 0 einschalten.
oder du legst die Kathode auf GND und kannst dann über Port.x=1 die LED einschalten. Das würde bei CC funktionieren.

187nitro
27.04.2010, 13:30
Hm ok gut danke. Da hatte ich einen Denkfehler drin.

Vielen Dank!