Ich versuche bisher vergeblich, ein EA-DOGM-Display an einem STM32 zum
laufen zu bringen. Das Display ist ein DOGM162W. Angeschlossen habe ich
es via SPI, so wie im Attachment gezeigt. Ursprünglich hatte ich R/W auf
H, habe es jetzt aber versuchsweise fix auf L verdrahtet.
Die SPI-Signale sehen ok aus (siehe Bildschirmphoto vom Oszi, hier
Ausgabe von 0x38), d.h. die Ansteuerung funktioniert soweit ich das
Überblicke korrekt.
Als Initialisierungssequenzen habe ich bereits alles mögliche
ausprobiert (die aus der EA-Dokumentation, die aus dem SZ7036
Datenblatt, und einige hier aus dem Forum).
Die Ansteuerung lief ursprünglich Tabellengesteuert, gegenwärtig
verwende ich um Fehler zu vermeiden diesen langsamen und langen Code:
1 | void my_lcd_init162(void)
|
2 | {
|
3 | HAL_Delay(200);
|
4 | HAL_GPIO_WritePin(LCD_RESET_GPIO_Port, LCD_RESET_Pin, GPIO_PIN_RESET);
|
5 | HAL_Delay(200);
|
6 | HAL_GPIO_WritePin(LCD_RESET_GPIO_Port, LCD_RESET_Pin, GPIO_PIN_SET);
|
7 | HAL_Delay(200);
|
8 | my_lcd_write_command(0x38);
|
9 | HAL_Delay(2);
|
10 | my_lcd_write_command(0x39);
|
11 | HAL_Delay(2);
|
12 | my_lcd_write_command(0x14);
|
13 | HAL_Delay(2);
|
14 | my_lcd_write_command(0x55);
|
15 | HAL_Delay(2);
|
16 | my_lcd_write_command(0x6D);
|
17 | HAL_Delay(200);
|
18 | my_lcd_write_command(0x78);
|
19 | HAL_Delay(2);
|
20 | my_lcd_write_command(0x38);
|
21 | HAL_Delay(2);
|
22 | my_lcd_write_command(0x0f);
|
23 | HAL_Delay(2);
|
24 | my_lcd_write_command(0x01);
|
25 | HAL_Delay(2);
|
26 | my_lcd_write_command(0x06);
|
27 | HAL_Delay(2);
|
28 | }
|
An der Ladepumpen-Pins messe ich Spannungen um die 150mV, und sehe keine
Anzeichen, dass sie laufen würde. Es liegt also nicht einfach daran,
dass ich die ausgegebenen Zeichen nicht sehe.
Bin kurz vor dem Aufgeben, aber vielleicht hat jemand noch einen Tipp
zur Fehlereingrenzung?