Forum: Mikrocontroller und Digitale Elektronik Ausgang High nach definition aus Ausgang?


von mani di manno (Gast)


Lesenswert?

Hallo,
habe folgendes Phänomen: Ganz am Anfang eines Programmes setze ich einen 
Pin als Ausgang. Dadurch ist er auch schon auf High geschaltet (LED geht 
an).

Meine Idee ist die Folgende:
Per Default ist es eigentlich ein Eingang mit Pullup, also Spannung am 
Pin. Wenn ich auf Ausgang setze, bleibt die Spannung einfach erhalten?

Muss ich immer nach dem Setzen auf Ausgang den Pin auf LOW stellen, 
damit nicht alles sofort an geht?

P.S.: Es geht um den Arduino Due

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

mani di manno schrieb:
> Per Default ist es eigentlich ein Eingang mit Pullup, also Spannung am
> Pin. Wenn ich auf Ausgang setze, bleibt die Spannung einfach erhalten?

Nein, sie bleibt nicht „einfach erhalten“, sondern sie wird sehr
vorsätzlich mit diesem Potenzial angelegt.

Das hängt damit zusammen, dass der von dir benutzte AVR den Bitwert
im Ausgangsport benutzt, um den Pullup zu aktivieren, wenn die
Datenrichtung für diesen Portpin auf „Eingang“ steht.  Sowie du nun
den Eingang zum Ausgang umdefinierst, bleibt aber der Wert im
Ausgangsregister (vorerst) erhalten und legt damit high-Pegel an.

Wenn du das nicht willst, musst du zuerst den Pullup deaktivieren
(damit wird in das Port-Register für das entsprechende Bit eine 0
eingetragen) und danach die Datenrichtung auf Ausgang schalten.

von mani di manno (Gast)


Lesenswert?

Also sind die Pins per default (oder nach Reset/Fashing) als Eingang MIT 
geschalteten Pull-UP definiert? Pull-DOWN würde mir irgendwie logischer 
erscheinen.

von Uwe (de0508)


Lesenswert?

mani di manno schrieb:
> Also sind die Pins per default (oder nach Reset/Fashing) als Eingang MIT
> geschalteten Pull-UP definiert? Pull-DOWN würde mir irgendwie logischer
> erscheinen.

Das steht wie immer im Datenblatt deines unbekannten µC.

Ich habe gar keinen "Arduino Due" ! Was'n dat ?

Wie Pull-DOWN ? welcher µC hat den diese Option ?

Bei den von mir verwendeten Atmel AVRs kann man nur einen hochohmigen 
Pullup einschalten.

von holger (Gast)


Lesenswert?

>Wie Pull-DOWN ? welcher µC hat den diese Option ?

STM32F407

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.