Forum: Mikrocontroller und Digitale Elektronik PORTD (PD2-PD7) und UART gleichzeitig nutzen


von V. B. (dr-robotnik)


Lesenswert?

Hallo zusammen!
Ich möchte die Pins PD2-PD7 am PORTD eines ATmega32 zur Ansteuerung 
eines LCD nutzen. Gleichzeitig brauche ich aber einen aktiven UART 
(PD0-PD1).
Was muss ich dabei beachten? Wie muss der Zugriff auf PORTD erfolgen, 
damit der UART nicht gestört wird? Kann ich die Bits 2-7 einfach 
Maskieren, wobei PD0 und PD1 auf null gesetzt werden? Wie muss ich DDRD 
konfigurieren?

Vielen Dank schon mal und viele Grüße,
dr-robotnik

von H.Joachim S. (crazyhorse)


Lesenswert?

Brauchst dich gar nicht drumkümmern.
Freigegebene Rx/Tx trennen PortD0/1 von der üblichen Portlogik.

von Michael H. (michael_h45)


Lesenswert?

Gibts nicht noch die Pull-Ups an den Pins? Die ~47k gegen Vcc reichen 
für CMOS schon zum schalten.

von Karl H. (kbuchegg)


Lesenswert?

Allerdings ist es trotzdem nett, wenn dein LCD Code so geschrieben ist, 
dass er nicht von ihm benutzte Pins absolut in Ruhe lässt. In dem 
Moment, in dem du den PCD Code in einem anderen Projekt an anderen Pins 
wiederverwenden willst, wirst du dir danken, wenn du nicht seltsame 
Fehler suchen musst.

von Michael H. (michael_h45)


Lesenswert?

Schon allein des Prinzips wegen würd ich nur die Portpins setzen, die 
ich auch benutzen will.
1
 PORTD = (PORTD&0x03) | (LCD_DATA<<2);
Iirc werden die UART-Pins immer 0 gelesen.

von V. B. (dr-robotnik)


Lesenswert?

Alles klar, vielen Dank!

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.