Hi,
ne nen Transistor brauchste net!
Einfach:
Atmega|----|1KOhm|----|<|----|+|
freier Port Widerstand LED VCC
oder
Atmega|----|1Kohm|----|>|----|-|
freier Port Widerstand LED VCC
entweder gegen VCC oder Masse schalten!
Gruß Michi
wie kann ich ein Led an einen Ausgang meines Atmega schalten? brauche ich da auch eine Transistorschaltung oder kann ich die direkt anschließen?
Hi,
ne nen Transistor brauchste net!
Einfach:
Atmega|----|1KOhm|----|<|----|+|
freier Port Widerstand LED VCC
oder
Atmega|----|1Kohm|----|>|----|-|
freier Port Widerstand LED VCC
entweder gegen VCC oder Masse schalten!
Gruß Michi
es kommt drauf an, obs ne normale standard-LED mit 20mA ist, die geht direkt, oder so ein superhelles hochleistungsteil mit viel mehr strom, da muss nen transistor her, denn ein AVR liefert maximal 40mA pro pin.
Und wenn die LED an PB0 hängt udn ein schalter an PB1, und die LED beim drücken des schalters angehen soll, wie soll ich DDRB in assembler nun definieren? als ein oder ausgang? oder kann man auch einzellne pins dann definieren.
man kann die einzelnen pins des ports unabhängig als ein-oder ausgänge schalten. du schreibst ja ein byte in DDRB, also acht bits. jedes bit steht dabei für einen pin.
zb
%11110000
würde pin 0 bis 3 als eingang und pin 4 bis 7 als ausgang schalten...
und für deine anwendung also %00000010
ahh, thx. Also ist wo 0 steht ausgang, wo 1 steht eingang?
Meinst du bei "PortB.0" <-- die Null?
Wenn ja, dann nein - alle Pins können als Ein- und Ausgänge genutzt werden.
Gruß, Björn
Nur tote Fische schwimmen mit dem Strom...
nein, ich meine in dem binärem beispiel von uwegw, nur um nochmal sicher zu gehen.
Nein, auch da stimmt die Annahme nicht. Genau umgekehrt.Zitat von becki
1 = Ausgang
0 = Eingang
Was Dich vermutlich durcheinander gebracht hat, ist die Zählweise der Bits. Das niederwertigste Bit0 steht ganz rechts, das höchstertige Bit7 ganz links.
Hoffe alle Restklarheiten beseitigt zu haben .
Grüße
Henrik
jo, das wars, danke nochmal
Lesezeichen