-
Vielen dank Daniel,
das Compilieren und die Übertragung der hex auf mein Board (myAVR) hat geklappt.
In die wintec2704.c musste ich noch #define F_CPU 8000000UL einfügen.
Nur Text ist auf dem Display nicht zu sehen.
Hier der Code aus meinem Bascom:
Config Lcdpin = Pin , Rs = Portb.0 , Db4 = Portd.5 , Db5 = Portd.4 , Db6 = Portd.3 , Db7 = Portd.2 , E = Portd.6 , E2 = Portd.7
Was muss ich in cie wintec2704.h für die Ports eintragen? Hier der Code aus der Wintec aus dem Netz:
#define LCD_DATA_PORT PORTD //Port on which the 4 LCD datapins are connected to
#define LCD_DATA_OFFSET 2 //Offset for data pins (e.g. 0 = PIN0..PIN3, 2 = PIN2..PIN5)
#define LCD_CTRL_PORT PORTD //PORT on which E1, E2, RS and RW are connected to
#define LCD_PIN_RW 4
#define LCD_PIN_RS 0
#define LCD_PIN_E1 6
#define LCD_PIN_E2 7
Grüße
Martin
-
Also
Code:
Config Lcdpin = Pin , Rs = Portb.0 , Db4 = Portd.5 , Db5 = Portd.4 , Db6 = Portd.3 , Db7 = Portd.2 , E = Portd.6 , E2 = Portd.7
lässt vermuten dass RS an PB0 hängt und D4-D7 des LCDs an PD5 - PD4 hängen. Das folgende Konstrukt kann also gar nicht funktionieren!
Code:
#define LCD_DATA_PORT PORTD //Port on which the 4 LCD datapins are connected to
#define LCD_DATA_OFFSET 2 //Offset for data pins (e.g. 0 = PIN0..PIN3, 2 = PIN2..PIN5)
#define LCD_CTRL_PORT PORTD //PORT on which E1, E2, RS and RW are connected to
#define LCD_PIN_RW 4
#define LCD_PIN_RS 0
#define LCD_PIN_E1 6
#define LCD_PIN_E2 7
Zunächst sollten D4-D7 auch aufsteigend an einem Port hängen. D4 an PD4, D5 an PD5 usw. Dann kannst du LCD_DATA_OFFSET auf 4 und LCD_DATA_PORT auf PORTD setzen.
RS, E1 und E2 würde ich auf PD0, PD1, PD2 und den RW-Pin eventuell auch auf PD3 setzen, da die Lib die du verwenden möchtest sicherlich auch das Busy-Flag abfragt.
Dann sollte das Ganze so aussehen :
Code:
#define LCD_DATA_PORT PORTD //Port on which the 4 LCD datapins are connected to
#define LCD_DATA_OFFSET 4 //Offset for data pins (e.g. 0 = PIN0..PIN3, 2 = PIN2..PIN5)
#define LCD_CTRL_PORT PORTD //PORT on which E1, E2, RS and RW are connected to
#define LCD_PIN_RW 3
#define LCD_PIN_RS 0
#define LCD_PIN_E1 1
#define LCD_PIN_E2 2
Anmerkung: Toolchain-Einstellungen -> Symbols kann man F_CPU für das ganze Projekt definieren. Dazu ein Symbol anlegen und F_CPU=8000000UL eintragen und fertig ist die Laube. Zu viele F_CPU-Definitionen werden irgendwann unübersichtlich und führen zu langen, nervenden und vor allem frustrierenden Fehlersuch-Aktionen die man sich selbst ersparen sollte.
-
Hallo Daniel,
vielen Dank für deine Antwort.
Da ich die Leitungen am Display nur mit viel Mühe an einen anderen Port legen kann wie in meinem Bascom-Beispiel klappt das nicht so ganz. Besteht die Möglichkeit, den C-Code so zu gestalten, dass der C-Code funktioniert.
Grüße und schon einmal Danke für deine Hilfe
Martin
-
Guten Abend!
Ich bin am lernen meinem Board etwas C beizubringen. Besser gesagt mir. Da ich ein Pollin (Wintek) 4x27 habe, und dies gerne weiterverwenden wollt, bin ich auf der suche nach der Beschreibung (Pinbelegung) des Display. Kennt jemand einen funktionsfähigen Link wo ich die Beschreibung finde? Oder gibt es ein Display (auch Grafisches) für das es eine gute Lib gibt.
Grüße
Martin
-
Die Pinbelegung solltest du bei Pollin unter Downloads beim Artikel finden. Bzgl. des Quellcodes : ja kann man ändern, aber das musst du dann selbst tun.