Forum: Mikrocontroller und Digitale Elektronik ATTINY2313 - Nichtbenutzte Pins High oder Low setzen?


von C.Preuß (Gast)


Lesenswert?

Hallo,
eine kleine Frage zum Atmel ATTINY2313.
Muß ich bei diesem Controller die Pins, welche nicht in meinem Projekt
benutzt werden, auf High oder Low Potential setzen oder kann man diese
einfach unbeschaltet lassen?

Vielen Dank für eure Mithilfe,
C.Preuß

von Henrik (Gast)


Lesenswert?

Kannst unbeschaltetr lassen. Und dann am besten den internen Pullup 
einschalten. Fertig.

von Freudi (Gast)


Lesenswert?

Weiss nicht genau wie das bei Atmel ist, aber ich hatte vor 5 Jahren ein 
MC16 Projekt bei der die Platine immer 60 mA gezogen hat , was 
entschieden zu viel ist.Nachdem wir alle IO Leitungen auf Input 
geschaltet haben lagen wir unter 10 mA. Kann mich aber nicht genau 
erinnern was das eigentliche Problem war. Vielleicht hatte es auch mit 
der Beschaltung zu tun.

Freudi

von Falk (Gast)


Lesenswert?

@Freudi

>MC16 Projekt bei der die Platine immer 60 mA gezogen hat , was
>entschieden zu viel ist.Nachdem wir alle IO Leitungen auf Input
>geschaltet haben lagen wir unter 10 mA. Kann mich aber nicht genau

Für das Problem gibt es mehrere saubere Lösungen.

1.) Pin auf Ausgang schalten, HIGH oder LOW
2.) Pin als Eingang schalten und interen oder exteren Pull-up/downs 
verwenden

Was man NICHT tun sollte ist

3.) Pins als Eingang schalten (was nach enem Reset meist automatisch der 
Fall ist) und keine Pull-up/downs verwenden (die internen sind beim AVR 
nach dem Reset ausgeschalten). Das gibt floatende Eingänge die ggf. 
ordentlich Strom ziehen.

MfG
Falk


von Freudi (Gast)


Lesenswert?

Danke Falk. Nach Durchsicht der alten tlowinit.c habe ich das jetzt 
nochmal nachvollzogen. Die Ports waren auf Eingang ohne Pullup 
geschaltet. Wir haben dann den Pullup eingeschaltet. Output ging 
irgendwie nicht weil da so ein supergeheimer (damals ) Baustein drauf 
war. Da gab es irgendwie Schwierigkeiten wenn der ein definiertes LOW 
oder HIGH bekommen hat.

Weil ich finde das das Thema immer mal interessant ist, bin ich doch 
echt dankbar für den Thread. ( der ja garnicht von mir kam :-)

Freudi

von Thorsten (Gast)


Lesenswert?

@Falk:

Zu 3) Dies gilt aber nicht, wenn der Pin unbeschaltet (n.c.) ist, oder?

von Falk (Gast)


Lesenswert?

@Thorsten

>Zu 3) Dies gilt aber nicht, wenn der Pin unbeschaltet (n.c.) ist, oder?

GERADE da gilt es ja!

Jeder digitale Pin braucht einen definierten digitalen Pegel.

MFG
Falk

von Thorsten (Gast)


Lesenswert?

Ja stimmt... mein Denkfehler.

Ich habe das auch nochmal mit dem Atmel Datenblatt abgeglichen.

Ich habe dies allerdings in meinen bisherigen Projekten nicht beachtet 
und (zum Glück) noch keine Probleme gehabt.

von C.Preuß (Gast)


Lesenswert?

Vielen Dank für die vielen Antworten,
ich benutze nur 3 Pins als Ausgänge, und den RXD Pin.
Alle anderen sind momentan n.c.!
Bis natürlich auf die notwendigen Vcc,Gnd und Reset!
D.h. ich definiere im Programm die anderen Pins als Ausgänge und diese
sind damit hochohmig.
Oder soll ich diese auf ein bestimmtes Potential ziehen, z.B. GND?
Gruß Carsten

von Falk (Gast)


Lesenswert?

@C.Preuß

>D.h. ich definiere im Programm die anderen Pins als Ausgänge und diese
>sind damit hochohmig.

???
Bitte nochmal den Satz lesen und drüber nachdenken. Danach nochmal meine 
Posts lesen.

MFG
Falk

von C.Preuß (Gast)


Lesenswert?

Sorry,
so hatte ich den Satz in Datenblatt verstanden:
"Ports with internal pull-up resistors"
Wat soll ich denn nun machen, die Pins beschalten oder frei lassen?
gruß Carsten

von klugscheissender Rahul, manchmal auch fies (Gast)


Lesenswert?

>Wat soll ich denn nun machen, die Pins beschalten oder frei lassen?

Pins als Eingänge schalten und die Pullups an:
DDRx = 0;
PORTx = 0xFF;

von C.Preuß (Gast)


Lesenswert?

Danke !!!

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.