Forum: Mikrocontroller und Digitale Elektronik [pic] unbenutzte Pins


von Thomas M. (xt-fahrer)


Lesenswert?

Hallo,

sollte man unbenutzte Pins direkt auf GND oder +5V legen? Was passiert 
im schlimmsten Fall, wenn ich die Pins einfach offen lasse?
Es geht konkret um den 16f88

Gruß
Thomas
von Abschneider (Gast)


Lesenswert?

all unused pins abzwicken.

Nein, im Ernst, du solltest die als Ausgang mit aktivierten PullUps 
definieren, um Störeinflüsse zu vermeiden.
von Anja (Gast)


Lesenswert?

Thomas M. schrieb:
> Was passiert
> im schlimmsten Fall, wenn ich die Pins einfach offen lasse?

- erhöhter Stromverbrauch
(bei manchen schnellen Logikfamilien z.b. 74ABT.. kann dies bis zur 
Selbstzerstörung durch Überhitzung führen wenn die Eingangsstufen 
anfangen zu schwingen).

- Ungewollte Pin-Change Interrupts.
- Störungen auf benachbarten ADC- oder Timer-Pins.

Gruß Anja
von Thomas M. (xt-fahrer)


Lesenswert?

Abschneider schrieb:
> all unused pins abzwicken.
>
> Nein, im Ernst, du solltest die als Ausgang mit aktivierten PullUps
> definieren, um Störeinflüsse zu vermeiden.

Also Bit 7 in OPTION_REG auf 0 und auch die entspr. Bits in TRISA und 
TRISB ?
von Manfred G. (magroma)


Lesenswert?

Unbenutzte Pins als Ausgang schalten und dann offen lassen ist kein 
Problem. Offene Eingänge auf Masse oder über R an +.
von John B. (johnbauer)


Lesenswert?

Abschneider schrieb:
> du solltest die als Ausgang (...) definieren
Ja.

Abschneider schrieb:
> mit aktivierten PullUps
Das ist Quatsch.
Hier ein Auszug aus dem Datenblatt:
----------------------------------
Each of the PORTB pins has a weak internal pull-up. A single control bit 
can turn on all the pull-ups. This is performed by clearing bit RBPU 
(OPTION_REG<7>). The weak pull-up is automatically turned off when the 
port pin is configured as an output.
----------------------------------
von aproemel (Gast)


Lesenswert?

Also man kann mehrere Wege gehen:
1. Alle "freien" Pins als Output definieren und einen Wert drauf 
schreiben
2. Alle "freien" Pins als Input definieren und auf einen Definierten 
Pegel "verdrahten", z.B. 4k7 Pullup nach VCC
3. Alle "freien" Pins als Input definieren und auf den "WEAK" Pullup 
verlassen

Man sollte sich aber auf jeden Fall vorher Gedanken machen, was mit den 
"freien" Pins zu tun ist.

Wie Anja bereits sagte, es kann zu Problemen führen sich keine Gedanken 
zu machen :-)

Gruß
von Thomas M. (xt-fahrer)


Lesenswert?

Ok, danke für eure Antworten. Das mit dem "weak pullup" ist mir noch 
nicht so ganz klar: der gilt nur für Inputs, richtig? Was, wenn ein 
Input aber standardmäßig auf Masse liegt? Wird er dann trotzdem 
hochgezogen?

Th.
von Martin S. (drunkenmunky)


Lesenswert?

Thomas M. schrieb:
> Ok, danke für eure Antworten. Das mit dem "weak pullup" ist mir noch
> nicht so ganz klar: der gilt nur für Inputs, richtig? Was, wenn ein
> Input aber standardmäßig auf Masse liegt? Wird er dann trotzdem
> hochgezogen?
>
> Th.

Du weißt schon, wozu überhaupt ein Pull-up Widerstand da ist?

http://www.mikrocontroller.net/articles/AVR-Tutorial:_IO-Grundlagen#Pullup-Widerstand
von iaoffline (Gast)


Lesenswert?

Thomas M. schrieb:
> sollte man unbenutzte Pins direkt auf GND oder +5V legen? Was passiert
> im schlimmsten Fall, wenn ich die Pins einfach offen lasse?
> Es geht konkret um den 16f88

Das die Eingangsschaltung rumschwingt. Macht aber nichts außer bei 
Batteriebetrieb. Da ist es am besten die Pins als Ausgang zu schalten 
und auf Gnd zu legen (zumindest bei den Pics wo ich das mal gemessen 
hab).
von slow (Gast)


Lesenswert?

>Da ist es am besten die Pins als Ausgang zu schalten
und auf Gnd zu legen (zumindest bei den Pics wo ich das mal gemessen
hab).

Du meinst aber nicht auf GND legen, Du meist sicher Low ausgeben.

Alles andere wäre ziemlicher Blödsinn.
von iaoffline (Gast)


Lesenswert?

slow schrieb:
> Du meinst aber nicht auf GND legen, Du meist sicher Low ausgeben.

Ja, war falsch formuliert. Etwas ausführlicher:

Es ist egal was man mit nicht angeschlossenen Pins macht, Ausnahme ist 
die Stromaufnahme. Da ist es am besten man legt offene Pins auf ein 
definiertes Potential (als Ausgänge und dann auf low schalten).
von slow (Gast)


Lesenswert?

Und schon haben wir wieder Frieden. );-))
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.