Forum: Mikrocontroller und Digitale Elektronik Atmega328P ADC und gleichzeitig IO


von Robert (Gast)


Lesenswert?

Hallo,

möchten nur einen ADC Pin vom Atmega328P
verwenden um einen LDR auszulesen.
Die restlichen Pins sollten gannz normale I/O Pins sein.
Funktioniert das?

Gruß Robert

von Ulrich F. (Gast)


Lesenswert?

Die DIP Version: Natürlich.
Die SMD Version: Bis auf 2 A Pins, die können nur analog.

Tipp:
Das Datenblatt gibt gerne Auskunft.

von Rene H. (Gast)


Lesenswert?

Und die Pins für die Stromversorgung.

von MitLeser (Gast)


Lesenswert?

Ich glaube er meint die restliche ADCs als IO benutzen

von M. K. (sylaina)


Lesenswert?

Robert schrieb:
> Hallo,
>
> möchten nur einen ADC Pin vom Atmega328P
> verwenden um einen LDR auszulesen.
> Die restlichen Pins sollten gannz normale I/O Pins sein.
> Funktioniert das?
>
> Gruß Robert

Funktioniert problemlos. Du kannst den selben ADC-Pin sogar für die 
Analogerfassung benutzen und direkt danach als digitalen IO.

von Robert (Gast)


Lesenswert?

Hallo,

also ich möchte den PC5(ADC5) und PC4(ADC4) als I²C Leitung nutzen,
PC3 PC2 PC1 PC0 als IO Ports
und ADC7 als ADC Eingang verwenden.
geht das alles gleichzeitig?

Gruß Robert

von Thomas E. (thomase)


Lesenswert?

Robert schrieb:
> geht das alles gleichzeitig?

Ja.

mfg.

von Robert (Gast)


Lesenswert?

Vielen Dank, gibt es für den Atmega328p ein Standard Routing? Also ein 
recommened design?

von M. K. (sylaina)


Lesenswert?

Robert schrieb:
> Vielen Dank, gibt es für den Atmega328p ein Standard Routing? Also ein
> recommened design?

Nö, außer den üblichen Sachen wie im Datenblatt beschrieben gibts da 
nix. Dafür ist der Chip nicht komplex genug.

von Karl H. (kbuchegg)


Lesenswert?

Allerdings kann ich mich dunkel an eine Aussage in einem Datenblatt 
erinnern (ich weiss aber nicht mehr welches), nach dem man es vermeiden 
sollte, wie wild an den restlichen Portpins rumzutoggeln, während der 
ADC gerade arbeitet. Ich halte es so, dass ich den ADC Port frei halte, 
solange ich noch genügend andere Portpins frei habe und wenn, dann lege 
ich eher 'statische' Funktionalitäten auf den ADC Port.

von Joachim B. (jar)


Lesenswert?

Robert schrieb:
> Vielen Dank, gibt es für den Atmega328p ein Standard Routing? Also ein
> recommened design?

zumindest für den SMD analog Teil gibt es Empfehlungen, für DIL wüsste 
ich grad nicht, aber allgemein gilt Abblock Kondensatoren dicht an VCC 
und GND, GND nicht lang ziehen als Bus sondern optimal als Stern oder 
GND Plane, Quarz und Kondis auch nicht quer über die Platine verteilen. 
AVCC mit L + C versorgen und an Aref auch einen Kondensator.

von Michael U. (amiga)


Lesenswert?

Hallo,

der Hinweis von Karl Heinz ist richtig. Wenn man  andere Pins am selben 
Port als Ausgänge hat soll man deren Pegel während der Messung nicht 
ändern.
Die Stromänderung verfälscht sonst die Messung.

Gruß aus Berlin
Michael

von S. Landolt (Gast)


Lesenswert?

ergänzend:
Datenblatt 24.6.2.d:
If any ADC [3:0] port pins are used as digital outputs, it is
essential that these do not switch while a conversion is in progress...

von M. K. (sylaina)


Lesenswert?

Karl H. schrieb:
> Allerdings kann ich mich dunkel an eine Aussage in einem Datenblatt
> erinnern (ich weiss aber nicht mehr welches), nach dem man es vermeiden
> sollte, wie wild an den restlichen Portpins rumzutoggeln, während der
> ADC gerade arbeitet.

Richtig. Es kann hierbei zu einem Signalübersprechen kommen und wenn man 
AVCC, das ja den Kompletten PORTC versorgt, belastet kann auch die 
Referenzquelle driften was wiederum in einem Zappeln der ADC-Werte 
mündet. Beides ist in der Regel nicht gewollt.

Karl H. schrieb:
> Ich halte es so, dass ich den ADC Port frei halte,
> solange ich noch genügend andere Portpins frei habe und wenn, dann lege
> ich eher 'statische' Funktionalitäten auf den ADC Port.

So mache ich es auch immer. Ist IMO die sinnvollste Empfehlung.

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.