Wenn du einen schwarzen Balken siehst, dann ist das LCD nicht initialisiert.
In lcd.h die Zuordnung LCD-Pin zu µC-Pin richtig eingetragen?
Wenn du einen schwarzen Balken siehst, dann ist das LCD nicht initialisiert.
In lcd.h die Zuordnung LCD-Pin zu µC-Pin richtig eingetragen?
Das wird es sein! Guter Tipp. Welchen Pin muss ich da angeben? die Datenleitungen sind angeschlossen am uC: 11,12,13,14. Am LCD Display habe ich die Datenbits DB4,5,6,7 angeschlossen die an Anschluss 11,12,13,14 liegen. Wenn ich in die lcd.h gehe finde und das ganze editiere sieht es so aus (Ausschnitt):
Die Datenbits 0-3 liegen frei. Das Problem ist nach der Änderung ist es immernoch genauso wie vorher. habe ich die Pins falsch angegeben?Code:#define LCD_PORT PORTB /**< port for the LCD lines */ #define LCD_DATA0_PORT LCD_PORT /**< port for 4bit data bit 0 */ #define LCD_DATA1_PORT LCD_PORT /**< port for 4bit data bit 1 */ #define LCD_DATA2_PORT LCD_PORT /**< port for 4bit data bit 2 */ #define LCD_DATA3_PORT LCD_PORT /**< port for 4bit data bit 3 */ #define LCD_DATA0_PIN 11 /**< pin for 4bit data bit 0 */ #define LCD_DATA1_PIN 12 /**< pin for 4bit data bit 1 */ #define LCD_DATA2_PIN 13 /**< pin for 4bit data bit 2 */ #define LCD_DATA3_PIN 14 /**< pin for 4bit data bit 3 */ #define LCD_RS_PORT LCD_PORT /**< port for RS line */ #define LCD_RS_PIN 4 /**< pin for RS line */ #define LCD_RW_PORT LCD_PORT /**< port for RW line */ #define LCD_RW_PIN 5 /**< pin for RW line */ #define LCD_E_PORT LCD_PORT /**< port for Enable line */ #define LCD_E_PIN 6 /**< pin for Enable line */
Wie kommst du auf 11,12,13,14 , sollte das nicht 0 bis3 sein? Bei mir sieht das so aus:
Code:#define LCD_PORT PORTB /**< port for the LCD lines */ #define LCD_DATA0_PORT LCD_PORT /**< port for 4bit data bit 0 */ #define LCD_DATA1_PORT LCD_PORT /**< port for 4bit data bit 1 */ #define LCD_DATA2_PORT LCD_PORT /**< port for 4bit data bit 2 */ #define LCD_DATA3_PORT LCD_PORT /**< port for 4bit data bit 3 */ #define LCD_DATA0_PIN 0 /**< pin for 4bit data bit 0 */ #define LCD_DATA1_PIN 1 /**< pin for 4bit data bit 1 */ #define LCD_DATA2_PIN 2 /**< pin for 4bit data bit 2 */ #define LCD_DATA3_PIN 3 /**< pin for 4bit data bit 3 */ #define LCD_RS_PORT PORTB /**< port for RS line */ #define LCD_RS_PIN 4 /**< pin for RS line */ #define LCD_RW_PORT PORTB /**< port for RW line */ #define LCD_RW_PIN 5 /**< pin for RW line */ #define LCD_E_PORT PORTB /**< port for Enable line */ #define LCD_E_PIN 6 /**< pin for Enable line */
So war es ja Standardäßig eingestellt bevor ich das geändert hatte. Ging ja so nicht.
So ist es aber sicher richtig.
Das Datenblatt ist sehr dürftig, hast du mal die Einstellung
#define LCD_CONTROLLER_KS0073 0 /**< Use 0 for HD44780 controller, 1 for KS0073 controller */
mit einer 1 probiert.
AH, habe mich bei einer einstellung vertan habe den Enable Pin falsch angegeben .... grrrr
Nun ist das Display gesäubert von Balken... Die gewünschten Zahlen sind dort allerdings nicht zu sehen. Wodran könnte das den nun noch liegen?
RW liegt bei mir laut dem Schaltungsbeispiel auf GND. Vielleicht liegt ja da der Fehler. habe dort einfach einen freien port angegeben. in diesem Fall PORTB6.
Dann ist es klar das es nicht funktioniert, R/W ist notwendig zur Busy-Abfrage.
Da ist die *.h verloren gegangen.
Hier kannst du ohne R/W einstellen.
Lesezeichen