Servus mal wieder!
Der STM ist mit dem SSD1963 verbunden, habe soeben versucht die ID
auszulesen.
1. Wenn ich die ID auslese, spreche ich direkt das Register des SSD1963
an? Ich beschreibe doch eine bestimmte Stelle im SSD-RAM, danach kann
ich an anderer Stelle im RAM die Werte entnehmen. Mir fehlt hier das
Verständnis.
2. Mit den Timings komme ich gar nicht zurecht. Habe in die ST-Sheets
geschaut, um die benötigten Timings einzustellen, aber im SSD-Sheet
stehen manche Werte nicht drin, bzw. heißen anders. Habe ein bisschen
mit den Werten gespielt und es auch geschafft die ID auszulesen.
Allerdings muss ich zwischen Registeraufruf und auslesen zwischen 5 - 10
HCLK-Clocks warten, ansonsten kommt nur Quatsch raus.
Das sind meine Timings:
1 | #define SSD1963_TIMING_ADDRESSHOLDTIME 1 // 1 - 15
|
2 | #define SSD1963_TIMING_ADDRESSSETUPTIME 9 // 0 - 15
|
3 | #define SSD1963_TIMING_BUSTURNAROUNDDURATION 0 // 0 - 15
|
4 | #define SSD1963_TIMING_DATALATENCY 2 // 2 - 17 // Don't care?
|
5 | #define SSD1963_TIMING_CLKDIVISION 2 // 2 - 16 // Don't care?
|
6 | #define SSD1963_TIMING_DATASETUPTIME 7 // 1 - 255
|
Mit folgendem Code (Mainloop), kann ich die IDs (lcdidn)auslesen, je
nach Timing, zündet beim letzten Byte allerdings die if-Bedingung.
1 | LCD_REG = 0xA1;
|
2 | for (int i = 0; i < 10; i++) {}
|
3 | lcdid = LCD_RAM;
|
4 | if (lcdid != 0x0001)
|
5 | er++;
|
6 | //for (int i = 0; i < 10; i++) {}
|
7 | lcdid1 = LCD_RAM;
|
8 | if (lcdid1 != 0x0057)
|
9 | er1++;
|
10 | //for (int i = 0; i < 10; i++) {}
|
11 | lcdid2 = LCD_RAM;
|
12 | if (lcdid2 != 0x0061)
|
13 | er2++;
|
14 | lcdid3 = LCD_RAM;
|
15 | //for (int i = 0; i < 10; i++) {}
|
16 | if (lcdid3 != 0x0001)
|
17 | er3++;
|
18 | //for (int i = 0; i < 10; i++) {}
|
19 | lcdid4 = LCD_RAM;
|
20 | if (lcdid4 != 0x00ff)
|
21 | er4++;
|
Habt ihr mir eine gute Lektüre zu diesem Thema, wenns geht, online? Ich
denke es geht eher in Richtung SRAM als TFT? Wer Lust und Laune hat,
darf mir das natürlich auch hier direkt im Forum erläutern, was mir
natürlich lieber wäre :)
Vielen Dank euch!
Grüße
Reggie