Forum: Mikrocontroller und Digitale Elektronik Kann man alle Ports eines AVRs als Eingang oder Ausgang konfigurieren?


von Multivitaminsaft (Gast)


Lesenswert?

Hallo zusammen,

ich hätte mal eine Frage zu den 4 Ports (A,B,C,D) eines AVRs.
Kann man alle Pins von den Ports als digitalen Eingang oder Ausgang 
verwenden? Durch das lesen von einem Datenblatt(ATmega32u4) bin ich auch 
nicht schlauer geworden, da bei den meisten Pins nichts von GPIO steht. 
Ich habe ein IC, der mit einem Software Button Pin auf ON/OFF geschaltet 
werden kann. An dem ATmega32u4 wäre jetzt der SS Pin optimal dafür, weil 
er bei mir frei ist. Könnte ich den SS Pin einfach mit dem Pin des ICs 
anschließen und den SS einfach auf OUTPUT oder INPUT programmieren?

MfG

von user (Gast)


Lesenswert?

Die Pins eines Ports lassen sich fast immer als Eingang oder Ausgang 
schalten, außer 1-2 Pins die sich nur als Einagang schalten lassen 
(Reset etc). Kommt aber auf die AVR Varante an.

von IUnknown (Gast)


Lesenswert?

Laut Datenblatt
http://ww1.microchip.com/downloads/en/DeviceDoc/Atmel-7766-8-bit-AVR-ATmega16U4-32U4_Datasheet.pdf
ist der Pin SS an PB0, kann also ganz normal als IO Pin genutzt
werden.

Bedenke dass der SS Pin für SPI Kommunikation wichtig ist,
wenn das bei dir kein Problem ist, nutze ihn.

Generell gilt: Bei PortA vorsichtig, meistens ist das nur
Analogfunktionalität. Bei allen anderen Ports kannst du
davon ausgehen dass die meisten bis alle digitale Ein/Ausgänge
haben

von Timmo H. (masterfx)


Lesenswert?

Er hat 5 Ports aber kein port a. Ansonsten ja

von Multivitaminsaft (Gast)


Lesenswert?

Danke für eure Antworten. Ein Port A existiert auf dem ATmega32u4 gar 
nicht. Die SPI-Kommunikation brauche ich nicht. Dann werde ich den SS 
Pin nehmen.

MfG

von Curby23523 N. (Gast)


Lesenswert?

IUnknown schrieb:
> Generell gilt: Bei PortA vorsichtig, meistens ist das nur
> Analogfunktionalität. Bei allen anderen Ports kannst du
> davon ausgehen dass die meisten bis alle digitale Ein/Ausgänge
> haben

Blödsinn, auf meinen atmegas konnte ich den PORTA wie gewohnt als 
digitalen Ein- und Ausgang nutzen. Wenn man analog Funktion wie ADC 
benutzen will, konfiguriert man ihn als Eingang ohne Pullup und muxxt 
dann den ADC.

von Einer K. (Gast)


Lesenswert?

Nils N. schrieb:
> Blödsinn

Ja: Alles Blödsinn!
Denn nix davon kann man verallgemeinern.

Außer:
Das jeweilige Datenblatt gibt gerne dazu Auskunft.


Ansonsten, wird man immer bei solchen Worten wie "meistens" landen.
z.B.: Teilweise sind die Pins konfigurierbar.

Klar sollte sein, dass Pins, welche mit spezial Funktionen belegt sind, 
dann nicht als universelle digitale IO nutzbar sind.

Vcc und GND
Der Reset Pin
Die Oszillator Pins
USB
Zwei analoge Input des 328p können kein digital
usw...

von Curby23523 N. (Gast)


Lesenswert?

Arduino F. schrieb:
> Klar sollte sein, dass Pins, welche mit spezial Funktionen belegt sind,
> dann nicht als universelle digitale IO nutzbar sind.

Und alles was den Namen GPIO trägt ist erstmal als normaler IO nutzbar 
und kann evtl. mit ner Zusatzfunktion belegt werden.

Reset,VDD VCC, Oscillator etc. sind häufig keine(!) GPIOs und sind dann 
extra gekennzeichnet im Pinout - und kein Bestandteil eines PORTS. Wenn 
im Pinout PA0 steht sollte das ein GPIO sein.

Wenn da steht PORTA GPIO, dann gilt das erstmal so. USB ist bei vielen 
Prozessoren auch auf einem GPIO. Heutzutage werden die Spezialpins immer 
weniger. Aber die Atmegas sind ja alt und werden früher oder später 
aussterben, auch wenn da noch ab und zu neue Modelle rauskommen.

Arduino F. schrieb:
> Zwei analoge Input des 328p können kein digital
> usw...

Dann sind diese pins garantiert kein GPIO und Bestandteil eines PORTS. 
Zeig mal das Datenblatt, vielleicht irre ich mich ja.

Auf Seite 16 steht was von ADC[7:6] im Pinout auf Seite 14/15 sehe ich 
aber nur Mischpins Digital/Analog - so wie es sein soll.

von Hubert G. (hubertg)


Lesenswert?

Die Mega8 bis Mega328 sind da ein Sonderfall.
In der Dil-Version fehlen ADC 6 und 7. In der TQPF und MLF-Version sind 
die ADC6 und 7 ausgeführt. Allerdings nicht als GPIO sondern nur als 
ADC-Eingang.
Also wie immer "Datenblatt genau lesen"

von Peter D. (peda)


Lesenswert?

Multivitaminsaft schrieb:
> ich hätte mal eine Frage zu den 4 Ports (A,B,C,D) eines AVRs.

Nur einige AVRs haben 4 Ports.
Wieviel Ports ein AVR hat und wie man sie konfigurieren kann, steht im 
jeweiligen Datenblatt des konkreten Typs.
Ein ATtiny85 hat z.B. 6 IO-Pins, ein ATmega640 hat 86 IOs.

von Curby23523 N. (Gast)


Lesenswert?

Hubert G. schrieb:
> Also wie immer "Datenblatt genau lesen"

Ich hatte das Datenblatt eines anderen 328. In dem des "atmega328" steht 
im Pinout tatsächlich ein ADC6 und ADC7, jedoch nicht als Bestandteil 
eines PORTs, also alles korrekt. PORTA gibts da nämlich gar nicht - dann 
wären dessen Pins nämlich garantiert GPIOs..

Ich möchte immmernoch einen PORTA sehen, den man nicht als GPIO, sprich 
als digitalen Ein- und Ausgang benutzen kann.

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.