Forum: Mikrocontroller und Digitale Elektronik avr atmega32, Analog Port programmieren als Digital IO


von Mirko (Gast)


Lesenswert?

Hy,

ich programmier und bastel hier schon rum wie ein Wilder. Trotzdem 
gelingt es mir nicht.
Ich moechte an einem atmega32, die Pins 33-40 ( PA0-PA7 ) als ganz 
normale i/o Ports nutzen.
Dafuer habe ich wie im pdf beschrieben die AVCC/VCC(5V) und alle GND 
angeschlossen.

Als Ausgang kann ich ohne Probleme PA0-PA7 nutzen. Ein :

DDRA = 0xFF;
PORTA= 0xFF;
Legt an jeden Pin 5V an. Klappt also.

Nur als Eingang funktioniert es nicht !

char = in;
DDRA = 0x00;
in = PORTA;
Ist "in" immer 0x00 ! Egal an welchen Pin ich 5V extern anlege.

Was habe ich nicht beachtet ?
Muss ich noch irgendwo ein Register setzten um den Analog-Teil als 
Digital Teil zu nutzen ?


danke fuer eure Hilfe.

von Rahul D. (rahul)


Lesenswert?

>in = PORTA;

Versuch lieber in = PINA;

Und danach guckst du dir das Tutorium an!

von crazy horse (Gast)


Lesenswert?

und das istnicht anders als bei anderen Ports.
Ich weiss noch, wie oft ich anfangs (nach der 8051-Ära) über die 
Portstruktur der AVRs gestolpert bin - immer wieder. DDRx vergessen, vom 
Port statt vom Pin lesen, aber inzwischen klappt es, ohne nachdenken zu 
müssen :-)

von Jörn P. (jonnyp)


Lesenswert?

Full Ack :-)

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.