Ausgang High nach definition aus Ausgang?

Gast #3342467
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
Moderator Persönliche Seite #3342504
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.
#3343008
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.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren