Hallo,
ich habe seit ein paar Tagen ein STK500 und bin beim Programmieren auf
ein Problem gestoßen, denn schon die kleinen Programme aus dem Tutorium
funktionieren nicht so, wie sie sollten:
1
DDRB=0xff;
2
PORTB=0x03;
Da sollten ja nun die ersten beiden LED's auf dem Board leuchten, aber
im Moment leuchten gerade die ersten beiden nicht und dafür aber alle
anderen.
Das merkwürdige dabei ist, dass die Spannung an Pin1 und Pin2 des
ATMega16 wirklich auf high ist, so wie sie es sein sollte. Die
Spannungen der restlichen Pins sind auf low.
Da die LED's über Transitoren an den Pins hängen, könnte es doch
höchstens sein, dass sie nicht richtig bestückt sind? Oder habe ich eine
Einstellung übersehen?
Vielen Dank für hilfreiche Antworten im Voraus!
Thomas.
Thomas wrote:
> Hallo,> ich habe seit ein paar Tagen ein STK500 und bin beim Programmieren auf> ein Problem gestoßen, denn schon die kleinen Programme aus dem Tutorium> funktionieren nicht so, wie sie sollten:>>
1
>DDRB=0xff;
2
>PORTB=0x03;
3
>
>> Da sollten ja nun die ersten beiden LED's auf dem Board leuchten, aber> im Moment leuchten gerade die ersten beiden nicht und dafür aber alle> anderen.> Das merkwürdige dabei ist, dass die Spannung an Pin1 und Pin2 des> ATMega16 wirklich auf high ist, so wie sie es sein sollte. Die> Spannungen der restlichen Pins sind auf low.
Das ist korrekt.
>> Da die LED's über Transitoren an den Pins hängen, könnte es doch> höchstens sein, dass sie nicht richtig bestückt sind? Oder habe ich eine> Einstellung übersehen?
Nein, die LEDs sind (aus gutem Grund) Low-aktiv. Das hättest Du aber
auch selbst feststellen können, dann das Schaltbild der LEDs und ihrer
Transistoren ist unübersehbar im mitgelieferten Handbuch abgebildet.
>> Vielen Dank für hilfreiche Antworten im Voraus!
Nix zu danken...
>> Thomas.
...
Ok, ihr habt recht ... das muss dann wohl sein.
Danke für die Antworten.
Kann mir vielleicht noch jemand kurz erklären, was der "gute Grund"
dafür ist, das sie low active sind?
Low-active hat zwei Gründe:
1. kommt noch aus vergangenen Zeiten (74er Logik), da war 'high' ein
unbeschalteter Eingang.
1a. Die Logik (und Prozessoren) arbeiteten mit
'open-Collector'-Schaltungen, zogen somit die 'high'-Eingänge auf Masse.
2. Low-active ist Störunanfälliger, da ein Peak (High-Impuls) von außen
die Schaltung eher stören kann als das Signal auf Masse gezogen wird.
Thomas wrote:
> Kann mir vielleicht noch jemand kurz erklären, was der "gute Grund"> dafür ist, das sie low active sind?
Neben den bisher genannten "guten Gründen" kommt speziell beim STK500
noch dazu, dass das STK500 auch Target-Spannungen unterstützt, bei denen
es etwas eng für die LEDs wird, sie also zu dunkel werden würden. Um
dies zu vermeiden, werden die LEDs über Transistoren in Basis-Schaltung
angesteuert, wodurch sie auch dann mit voller Betriebsspannung (5V)
betrieben werden, wenn der Target-AVR mit kleinerer Betriebsspannung
läuft. Etwas tricky, aber sehr wirkungsvoll.
...
Thilo M. wrote:
>>sie also zu dunkel werden würden>> Bei meinem Board brennen die sich regelrecht in die Netzhaut ein! :D
Sie sollen halt auch auf hell beleuchteten Arbeitsplätzen gut sichtbar
sein... 8-D
...
Hallo,
@Hannes Lux:
mein Problem ist ja eher, daß ich die Arbeitsplatzbeleuchtung nicht mehr
erkennen kann, wenn das STK500 leuchtet... ;)
Gruß aus berlin
Michael
Michael U. wrote:
> Hallo,>> @Hannes Lux:> mein Problem ist ja eher, daß ich die Arbeitsplatzbeleuchtung nicht mehr> erkennen kann, wenn das STK500 leuchtet... ;)
Dann kleb' doch 'n Papierstreifen drüber. 8-P
Oder milchige Folie oder so.
>> Gruß aus berlin> Michael
Achja, Berlin wird vorne mit "B" geschrieben und hinten mit "h"...
Duck&wech...
Gruß von der Elbe,
...