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
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.
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
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
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.
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...
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.
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"
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.
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.