Hi Leutz,
versuch grad die Lib aus diesem Thread =>
Beitrag "GLCD Routinen ( KS0108, HD61202 )" <= zum Laufen zu bringen -
leider ohne Erfolg!
Ich hab ein Testsystem Mega32 mit LCD bei 16MHz. Das System läuft
problemlos mit der lib von ape! Also kanns an der Hardware nicht liegen.
Allerdings hab ich die Ports anders belegt. Auszug aus der mylcd.h:
1 | // Ports
|
2 | #define LCD_CMD_PORT PORTC // Command Output Register
|
3 | #define LCD_CMD_DDR DDRC // Data Direction Register for Command Port
|
4 |
|
5 | #define LCD_DATA_PIN PINA // Data Input Register
|
6 | #define LCD_DATA_PORT PORTA // Data Output Register
|
7 | #define LCD_DATA_DDR DDRA // Data Direction Register for Data Port
|
8 |
|
9 | // Command Port Bits
|
10 | #define CD PC6 // Data/Control (RS) PinNumber
|
11 | #define RW PC5 // R/W PinNumber
|
12 | #define EN PC7 // EN PinNumber
|
13 | #define CS1 PC3 // CS1 PinNumber
|
14 | #define CS2 PC2 // CS2 PinNumber
|
15 | //#define LCD_NO_RES // uncomment this line if you have an pullup on reset
|
16 |
|
17 | #ifndef LCD_NO_RES
|
18 | #define RES PC4 // Reset Pin
|
19 | #endif
|
Bei der Lib von ape sieht die ks0108.h so aus:
1 | // Ports
|
2 | #define LCD_CMD_PORT PORTC // Command Output Register
|
3 | #define LCD_CMD_DIR DDRC // Data Direction Register for Command Port
|
4 |
|
5 | #define LCD_DATA_IN PINA // Data Input Register
|
6 | #define LCD_DATA_OUT PORTA // Data Output Register
|
7 | #define LCD_DATA_DIR DDRA // Data Direction Register for Data Port
|
8 |
|
9 | // Command Port Bits
|
10 | #define D_I PC6 // D/I Bit Number
|
11 | #define R_W PC5 // R/W Bit Number
|
12 | #define EN PC7 // EN Bit Number
|
13 | #define CSEL1 PC2 // CS1 Bit Number
|
14 | #define CSEL2 PC3 // CS2 Bit Number
|
15 | #define RST PC4 // Reset Pin
|
Sollte meiner Meinung nach passen, aber auf dem Display passiert gar
nix! Wie gesagt, mit der lib von ape gehts, leider wirkt diese bei
schnellen Ausgaben recht träge. Deswegen möchte ich die von Andre mal
probieren.
Jemand ne Idee woran es liegen könnte?
Gruß - Markus