Travolds
01.01.2007, 22:54
hi,
wollte ein LCD, Wintek WM-C2004P, ansteuern.
Habe es jetzt mal nach angehängten Schaltplan für den 4bit-Modus verdrahtet. Habe auch gleich hier das einzige Datenblatt zu dem LCD angehängt, dass ich gefunden habe.
Die verdrahtung entspricht denke ich dem datenblatt.
Leider bekomme ich das Ansteuern des LCDs nicht ganz hin. Ich habe mal die LCD-Lib von peterfleury versucht und benötigte Dinge angepasst:
#define XTAL 1000000
#define LCD_LINES 4 /**< number of visible lines of the display */
#define LCD_DISP_LENGTH 20 /**< visibles characters per line of the display */
#define LCD_LINE_LENGTH 0x40 /**< internal line length of the display */
#define LCD_START_LINE1 0x00 /**< DDRAM address of first char of line 1 */
#define LCD_START_LINE2 0x40 /**< DDRAM address of first char of line 2 */
#define LCD_START_LINE3 0x14 /**< DDRAM address of first char of line 3 */
#define LCD_START_LINE4 0x54 /**< DDRAM address of first char of line 4 */
#define LCD_WRAP_LINES 0 /**< 0: no wrap, 1: wrap at end of visibile line */
habe nun mittels "LED-Debugging" festgestellt, dass die LCD-lib in der Funktion "lcd_waitbusy" an der stelle
while ( (c=lcd_read(0)) & (1<<LCD_BUSY)) {}
hängen bleibt.
Hat jemand eine Idee was das problem sein könnte bzw. hat schon jemand dieses LCD in betrieb gehabt?
vielen dank + lg
[**EDIT**]
angezeigte schaltung verändert.
wollte ein LCD, Wintek WM-C2004P, ansteuern.
Habe es jetzt mal nach angehängten Schaltplan für den 4bit-Modus verdrahtet. Habe auch gleich hier das einzige Datenblatt zu dem LCD angehängt, dass ich gefunden habe.
Die verdrahtung entspricht denke ich dem datenblatt.
Leider bekomme ich das Ansteuern des LCDs nicht ganz hin. Ich habe mal die LCD-Lib von peterfleury versucht und benötigte Dinge angepasst:
#define XTAL 1000000
#define LCD_LINES 4 /**< number of visible lines of the display */
#define LCD_DISP_LENGTH 20 /**< visibles characters per line of the display */
#define LCD_LINE_LENGTH 0x40 /**< internal line length of the display */
#define LCD_START_LINE1 0x00 /**< DDRAM address of first char of line 1 */
#define LCD_START_LINE2 0x40 /**< DDRAM address of first char of line 2 */
#define LCD_START_LINE3 0x14 /**< DDRAM address of first char of line 3 */
#define LCD_START_LINE4 0x54 /**< DDRAM address of first char of line 4 */
#define LCD_WRAP_LINES 0 /**< 0: no wrap, 1: wrap at end of visibile line */
habe nun mittels "LED-Debugging" festgestellt, dass die LCD-lib in der Funktion "lcd_waitbusy" an der stelle
while ( (c=lcd_read(0)) & (1<<LCD_BUSY)) {}
hängen bleibt.
Hat jemand eine Idee was das problem sein könnte bzw. hat schon jemand dieses LCD in betrieb gehabt?
vielen dank + lg
[**EDIT**]
angezeigte schaltung verändert.