Forum: Mikrocontroller und Digitale Elektronik STK500 komische Output-Probleme


von TB (Gast)


Lesenswert?

Hallo,

ich habe mir das STK500 gekauft und habe beim Programmieren eines 
ATMega8 komische Ergebnisse erziehlt.
Der Simple Befehl DDRB |= (1<<PB0); sorgt dafür, dass die entsprechende 
LED aufleuchtet. Wenn ich die LED per PORTB |= (1<<PB0); zum leuchten 
bringen will, geht sie aus, und per PORTB &= ~(1<<PB0); geht sie wieder 
an.

Irgendwie scheint hier etwas nicht zu stimmen.

Hat vielleicht jemand eine Idee woher der Fehler stammen könnte?


Viele Grüße und vielen Dank

von Qwertz (Gast)


Lesenswert?

>Der Simple Befehl DDRB |= (1<<PB0); sorgt dafür, dass die entsprechende
>LED aufleuchtet. Wenn ich die LED per PORTB |= (1<<PB0); zum leuchten
>bringen will, geht sie aus, und per PORTB &= ~(1<<PB0); geht sie wieder
>an.

So soll es sein!

>Irgendwie scheint hier etwas nicht zu stimmen.

Und was?

>Hat vielleicht jemand eine Idee woher der Fehler stammen könnte?

Welcher Fehler?

Ich rate mal: Du erwartest, das eine 1 die LED zum leuchten bringt und 
eine 0 sie erlöschen lässt. Richtig? Dann ein kleiner Tip: Schau mal im 
Schaltplan wie die LEDs am Portpin angeschaltet sind.

von TB (Gast)


Lesenswert?

OK, ich schaue mal rein...

Habe erwartet, dass eine 1 die LED einschaltet und eine 0 sie löscht.


Super, dass ich so schnell eine Antwort bekommen habe.

von TB (Gast)


Lesenswert?

Hallo,

ich habe mir das Datenblatt angesehen und das Problem gefunden.
Hätte das aus dem Gefühl anders herum erwartet, ist aber auch OK, jetzt 
wo
ich das weis.

Vielen Dank

von Qwertz (Gast)


Lesenswert?

>Hätte das aus dem Gefühl anders herum erwartet,...

Nun, das ist verständlich, denn es liegt sicher nahe die Gedanken so zu 
verketten, das eine 1, wahr, eine leuchtende LED bedeutet.

Wie Dir hier vorgeführt wird, ist diese Festlegung absolut willkürlich 
und richtet sich in der Praxis nach den Gegebenheiten wozu auch der uC 
selbst gehört. Der kann nämlich mehr Strom nach GND ableiten als von VCC 
liefern.

von H.Joachim S. (crazyhorse)


Lesenswert?

naja, das ist nur ein Relikt aus vergangenen TTL-Zeiten. Bei moderner 
CMOS-Technolgie ist das so gut wie symmetrisch.
Aber wenn man es weiss, wann die LED leuchtet, ist es ja egal.

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.