Hallo Leute,
Im Zuge einer Diplomarbeit bauen wir gerade ein Board mit dem EA DOG-M
163 Display.
Betrieben wird es im SPI mit 3,3 Volt.
Ich habe hier den Code für die Initialisierung:
1 | // Startup timing according to datasheet recommendation
|
2 | send_instSPI(0x38); // FUNCTION SET: N, DH, IS2, IS1: 2/3 lines, 5x8 Font, instruct. table 0,0; #### 1 line: 0x30
|
3 | waitms (40); // wait
|
4 |
|
5 | send_instSPI(0x39); // FUNCTION SET: N, DH, IS2, IS1: 2/3 lines, 5x8 Font, instruct. table 0,1; #### 1 line: 0x31
|
6 | waitms (10); // wait
|
7 |
|
8 | send_instSPI(0x14); // BIAS SET: 14 (2x16?) statt (1d 3x16?) 3 line displays: D4=1, 1 ans 2 line displays: D4=0
|
9 | waitms (10); // wait
|
10 |
|
11 | send_instSPI(0x55); // COMMAND: POWER/ICON/CONTROL/CONTRAST SET: ION, BON, C5, C4
|
12 | waitms (10); // wait
|
13 |
|
14 | send_instSPI(0x6D); // FOLLOWER CONTROL
|
15 | waitms (10); // wait
|
16 |
|
17 | // send_instSPI(0x78); // CONTRAST SET ( low nibble )
|
18 | send_instSPI(0x78); // Humer
|
19 | waitms (10); // wait
|
20 |
|
21 | send_instSPI(0x0E); // Display ON/OFF
|
22 | //send_instSPI(0x0F); // Display ON/OFF
|
23 | busy_lcd (); // Wait for ready
|
24 |
|
25 | send_instSPI(0x01); // Clear Display
|
26 | busy_lcd (); // Wait for ready
|
27 |
|
28 | send_instSPI(0x06); // Entry mode set
|
29 | busy_lcd (); // Wait for ready
|
30 |
|
31 | send_instSPI(0x38); // FUNCTION SET: N, DH, IS2, IS1: 2/3 lines, 5x8 Font, instruct. table 0,0; #### 1 line: 0x30
|
32 | busy_lcd (); // Wait for ready
|
Dieser funktionier auch anscheinend soweit, dass ich etwas aufs Board
schreiben kann. Jedoch ist es komplett "schwarz" und nur wenn man unter
einem steilen Winkel draufsieht kann man durch die schwarzen Balken das
Wort sehen.
Hier ein Bild wie es aussieht:
http://s7.directupload.net/images/120413/88g53yde.jpg
Jetzt hab ich schon ewig lang mit den Contrast Settings auch rumgespielt
und ich kriegs einfach nicht hin.
Vielleicht seht ihr ja einen Fehler in der Initialisierung?