Hallo Leute,
ich versuche momentan ein QVGA Display (INT035TFT-TS) per STM32F4
anzusteuern. Dazu verwende ich den FSMC. Lesen und Schreiben
funktioniert auch schon wunderbar. Momentan verwende ich ein 8Bit
Dateninterface zu dem Display. Für ein Pixel werden dazu 3 Bytes
übertragen (RGB).
Mit den Farben scheint aber etwas nicht so ganz zu stimmen. Ich verwende
folgenden Code für ein Test Pattern.
1 | for(uint16_t y = 0; y < 240; y++)
|
2 | {
|
3 | for(uint16_t x = 0; x < 320; x++)
|
4 | {
|
5 | if(y < 80)
|
6 | {
|
7 | rgb = x;
|
8 | }
|
9 | else if(y < 160)
|
10 | {
|
11 | rgb = x << 8;
|
12 | }
|
13 | else
|
14 | {
|
15 | rgb = x << 16;
|
16 | }
|
17 |
|
18 | *TFT_DATA_REG = (rgb & 0xFF);
|
19 | *TFT_DATA_REG = (rgb & 0xFF00) >> 8;
|
20 | *TFT_DATA_REG = (rgb & 0xFF0000) >> 16;
|
21 | }
|
22 | }
|
Nun sollten eigentlich drei Balken erscheinen (RGB) jeweils von dunkel
nach hell.
Das tatsächliche Ergebnis gibt es im Anhang.
Scheint als ob bei Blau 1 Bit fehlt, bei Grün 3 und bei Rot 5 Bit
(jeweils MSBs).
Hat jemand ne Ahnung was da los ist? Bin ein wenig ratlos in welche
Richtung ich suchen muss.
Der Display Controller ist ein SSD1963.
Grüße
Andre