Forum: Mikrocontroller und Digitale Elektronik LCD-Tutorial: LCD auf anderem Port funktioniert nicht


von Dennis S. (dennnis)


Lesenswert?

Hallo,

ich habe folgendes Problem:
Wenn ich das LCD-Modul wie im Tutorial an PortB anschließe funktioniert 
alles wunderbar (ATMEGA16). Ich brauche aber den PortB für die USART, 
also habe ich alles 1:1 auf die Pins am PortC angeklemmt:

PC0-PC3 = DB4-DB7
PC4 = RS
PC5 = E

 und im lcd-routines.h entsprechende Änderungen vorgenommen:

//  LCD DB4-DB7 <-->  PORTD Bit PD0-PD3
#define LCD_PORT      PORTC
#define LCD_DDR       DDRC
#define LCD_DB        PC0

//  LCD RS      <-->  PORTD Bit PD4     (RS: 1=Data, 0=Command)
#define LCD_RS        PC4

//  LCD EN      <-->  PORTD Bit PD5     (EN: 1-Impuls für Daten)
#define LCD_EN        PC5

Leider reagiert das Modul nicht auf die Änderungen, es erscheinen nur 
schwarze Balken.

Hat Jemand eine Idee?

von troll (Gast)


Lesenswert?

Entweder PortC hat irgendwelche Sonderfunktionen aktiviert oder der Wurm 
liegt hier:
Dennis Scholz schrieb:
> //  LCD DB4-DB7 <-->  PORTD Bit PD0-PD3
Da fehlt evn ne Schiebeoperation. Moment, ich muss mir mal den Code im 
Tut angucken.

von Spess53 (Gast)


Lesenswert?

Hi

JTAG

MfG Spess

von troll (Gast)


Lesenswert?

Also im Tut wurde sauber programmiert, sollte eigentlich funktionieren. 
Aber warum schreibst du oben von PortC und dann im Kommentar aber PORTD? 
Nur ein Tippfehler?

von troll (Gast)


Lesenswert?

Ok, spess53 war schneller und meine erste Vermutung richtig. Abschalten 
geht über Fusebits.

von Dennis S. (dennnis)


Lesenswert?

JTAG, das war es!
Hab's abgeschaltet und nun läuft alles wunderbar.

VIELEN DANK an ALLE

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.