Schwach leuchtende LED klingt nach per default aktivem internem Pullup-Widerstand des Controllers.
Werbung
Schwach leuchtende LED klingt nach per default aktivem internem Pullup-Widerstand des Controllers.
Wunderbar! zwar musste ich sehr viel suchen, was du meinst, aber dann bin ich dahinter gekommen, dass der Port nicht richtig als Ausgang definiert worden ist. Ist das vom Controller normal, dass der Ausgang, fals man Portd.6.mode = output vergessen sollte, als Pullup defeniert wird? Oder ist das Programm abhängig. Damals musste ich auch Output für den jeweiligen port einstellen.
Das hier hatte gefehlt:
auf jedenfall danke für den kleinen Denkanstoß ^^Code:Portd.5.mode = output Portd.6.mode = output Portd.7.mode = output
mfg EKI
Hallo Erik.
Ups, da hatte ich nachts um Halbeins nicht mehr ganz sauber formuliert ...
Ich arbeite ausschließlich mit PICs, von daher würde ich die Frage gerne an die Kenner weiterreichen. Die Antwort sollte sich aber auch in der Doku zum Controller finden lassen.
Mein offenbar treffender Hinweis beruht halt darauf, dass 1.) ich schon seit Jahren auch die Atmel-Themen mitlese und 2.) deine Frage zu den Top-Five der Anfängerprobleme mit Atmel-Controllern gehört.
Viel Erfolg und Spaß weiterhin.
RoboHolIC
Hallo EKI.
Ich kenne die Amtel nicht speziell, dafür aber eine Menge andere Controller.
Grundsätzlich können die meisten Ports als Ein- oder Ausgang verwendet werden.
Bei einem Reset, weiss der Controller aber nicht, als was ein Port benutzt werden soll. Wenn da jetzt z.B. ein Schalter daran angeschlossen ist und das Port als Ausgang definiert wird, gäbe es einen Kurzschluss an diesem Port.
Also setzt man alle Ports als Eingang.
Dann hat man aber noch dass Problem, dass wenn der Pin als Eingang geschaltet ist und da aber ein Eingang z.B. eines Gatters dran hängt, sich ungültige Pegel einstellen, ist ja alles sehr hochohmig. Bei manchen Gattern können aber, bei ungültigen Pegeln, beide Transistoren in der Ausgangsstufe gleichzeitig leitend sein, was einem Kurzschluss der Versorgungsspannung gleich kommt. Will man auch nicht wirklich!
Also werden oft auch die Pull Ups aktiviert.
Nach einem Reset übernimmt dann die Software, da kann es dann Unterschiede geben, je nachdem was du für Bibliotheken verwendest.
Grundsätzlich muss man aber immer ins Datenblatt schauen, in welchem Zustand die Ports nach einem Reset nun genau sind!
MfG Peter(TOO)
Bei einem AVR ist der Port nach einem Reset auf Eingang geschaltet. Schreibt man in diesem Zustand eine 1 auf den Port, wird der PullUp (50k bis 70k) aktiviert.
Schaltet man den Port auf Ausgang, entweder so: Portx.5.mode = output oder so DDRx=0b00100000; und schreibt eine 1 auf den Port, dann geht der Port auf High und mit einer 0 auf Low. Über den max. Strom informiert das Datenblatt.
Lesezeichen