Hallo Leute,
ich versuche schon den Nachmittag lang an meinem 644P mein
YM2004A(KS0066 bzw. HD44780) Display zu betreiben. An anderen
Controllern lief es immer und aus Verzwieflung hatte ich es kurz am
Arduino Uno, womit es sofort lief.
Die Belegung sieht folgendermaßen aus(Überprüft und mehrmals
Durchgemessen):
1 | D7 PC7
|
2 | D6 PC6
|
3 | D5 PC5
|
4 | D4 PC4
|
5 | E PC3
|
6 | RS PC2
|
7 | ------
|
8 | RW GND
|
Ich benutze die in dem Tutorial vorgeschlagenen Routinen mit der
Abänderung:
1 | ////////////////////////////////////////////////////////////////////////////////
|
2 | // Pinbelegung für das LCD, an verwendete Pins anpassen
|
3 | // Alle LCD Pins müssen an einem Port angeschlossen sein und die 4
|
4 | // Datenleitungen müssen auf aufeinanderfolgenden Pins liegen
|
5 |
|
6 | // LCD DB4-DB7 <--> PORTD Bit PD0-PD3
|
7 | #define LCD_PORT PORTC
|
8 | #define LCD_DDR DDRC
|
9 | #define LCD_DB PC4
|
10 |
|
11 | // LCD RS <--> PORTD Bit PD4 (RS: 1=Data, 0=Command)
|
12 | #define LCD_RS PC2
|
13 |
|
14 | // LCD EN <--> PORTD Bit PD5 (EN: 1-Impuls für Daten)
|
15 | #define LCD_EN PC3
|
In meiner Hauptfunktion rufe ich das Dispaly wie folgt auf:
1 | lcd_init();
|
2 | lcd_string("Test1234");
|
Es verschwinden aber noch nicht mal die beiden Balken auf dem Dsiplay.
Noch ne andere Frage: Wie kann es sein, dass ich obwohl ich die Datein
lcd.h und lcd.c zu meinem Projekt als "Existing Item" hinzugefügt habe
Fehlermeldungen bekomme, wenn ich #include "lcd.h" in die main.c
einbinde?
Diese aber verschwinden wenn ich #include "lcd.c" schreibe?
Das gleiche habe ich mit meiner UART Lib, welche so auch funktioniert.
Normalerweise reicht dieses hinzufügen doch?!
(Zumindestens wenn man im normalen VS C++ programmiert)