ILI9488 mit SPI

    This site uses cookies. By continuing to browse this site, you are agreeing to our Cookie Policy.

    • ILI9488 mit SPI

      Hallo zusammen
      ich habe für ein Projekt ein grafisches Display 480x320 mit dem Kontroller ILI9488 gekauft (siehe hier). Im Forum habe ich zuvor gelesen dass das Programm von hkipnik für die Kontroller ILI9481, 9486 und 9488 funktionieren soll.
      Es ist mir jedoch nicht gelungen das Display via SPI zum Laufen zu bringen.
      Ein am gleichen Prozessor angeschlossenes Display mit dem ILI9486 läuft jedoch ohne Probleme mit SPI. Auch ein Display mit dem ILI9341 via SPI läuft, mit dem entsprechenden Programm, problemlos.
      Meine Frage deshalb: hat jemand bereits ein Display mit dem Kontroller ILI9488 mit SPI-Schnittstelle zum Laufen gebracht; mit Parallelschnittstelle scheint es ja zu gehen?
    • Macht es gar nichts? Alle Pins korrekt? Ich hab hier ein ähnliches? , leider steht der Controller nicht drauf.
      Möglicherweise braucht es ein anderes Init. Mit dieser funktioniert es hier:

      Source Code

      1. Sub Lcd_init()
      2. Lcd_rst = 0
      3. Waitms 150
      4. Lcd_rst = 1
      5. Waitms 150
      6. Call Lcd_write_command(&Hcb) 'Power control A
      7. Call Lcd_write_data(&H39)
      8. Call Lcd_write_data(&H2c)
      9. Call Lcd_write_data(&H00)
      10. Call Lcd_write_data(&H34)
      11. Call Lcd_write_data(&H02)
      12. Call Lcd_write_command(&Hcf) 'Power control B
      13. Call Lcd_write_data(&H00)
      14. Call Lcd_write_data(&Hc1) '8b
      15. Call Lcd_write_data(&H30)
      16. Call Lcd_write_command(&He8) 'Driver timing control A (
      17. Call Lcd_write_data(&H85)
      18. Call Lcd_write_data(&H00)
      19. Call Lcd_write_data(&H78)
      20. Call Lcd_write_command(&Hea) 'Driver timing control B
      21. Call Lcd_write_data(&H00)
      22. Call Lcd_write_data(&H00)
      23. Call Lcd_write_command(&Hed) 'Power on sequence control
      24. Call Lcd_write_data(&H64)
      25. Call Lcd_write_data(&H03)
      26. Call Lcd_write_data(&H12)
      27. Call Lcd_write_data(&H81)
      28. Call Lcd_write_command(&Hf7) 'Pump ratio control
      29. Call Lcd_write_data(&H20)
      30. Call Lcd_write_command(&Hc0) 'Power control
      31. Call Lcd_write_data(&H23)
      32. Call Lcd_write_command(&Hc1) 'Power control
      33. Call Lcd_write_data(&H10)
      34. Call Lcd_write_command(&Hc5) 'VCM control
      35. Call Lcd_write_data(&H3e)
      36. Call Lcd_write_data(&H28)
      37. Call Lcd_write_command(&Hc7) 'VCOM Control 2
      38. Call Lcd_write_data(&H86)
      39. #if Lcd_mode = 1
      40. Call Lcd_write_command(&H36) 'Memory Access Control
      41. Call Lcd_write_data(&B0100_1000) '0100-1000
      42. #elseif Lcd_mode = 2
      43. Call Lcd_write_command(&H36)
      44. Call Lcd_write_data(&B1000_1000)
      45. #elseif Lcd_mode = 3
      46. Call Lcd_write_command(&H36)
      47. Call Lcd_write_data(&B1110_1000)
      48. #elseif Lcd_mode = 4
      49. Call Lcd_write_command(&H36)
      50. Call Lcd_write_data(&B0010_1000)
      51. #endif
      52. Call Lcd_write_command(&H3a) 'COLMOD: Pixel Format Set
      53. Call Lcd_write_data(&H55)
      54. Call Lcd_write_command(&Hb1) 'Frame Rate Control (In Normal Mode/Full Colors)
      55. Call Lcd_write_data(&H00)
      56. Call Lcd_write_data(&H18)
      57. Call Lcd_write_command(&Hb6) 'Display Function Control
      58. Call Lcd_write_data(&H08)
      59. Call Lcd_write_data(&H82)
      60. Call Lcd_write_data(&H27)
      61. Call Lcd_write_command(&Hf2) '3Gamma Function Disable
      62. Call Lcd_write_data(&H00)
      63. Call Lcd_write_command(&H26) 'Gamma curve selected
      64. Call Lcd_write_data(&H01)
      65. Call Lcd_write_command(&He0) 'Set Gamma
      66. Call Lcd_write_data(&H0f)
      67. Call Lcd_write_data(&H31)
      68. Call Lcd_write_data(&H2b)
      69. Call Lcd_write_data(&H0c)
      70. Call Lcd_write_data(&H0e)
      71. Call Lcd_write_data(&H08)
      72. Call Lcd_write_data(&H4e)
      73. Call Lcd_write_data(&Hf1)
      74. Call Lcd_write_data(&H37)
      75. Call Lcd_write_data(&H07)
      76. Call Lcd_write_data(&H10)
      77. Call Lcd_write_data(&H03)
      78. Call Lcd_write_data(&H0e)
      79. Call Lcd_write_data(&H09)
      80. Call Lcd_write_data(&H00)
      81. Call Lcd_write_command(&He1) 'Set Gamma
      82. Call Lcd_write_data(&H00)
      83. Call Lcd_write_data(&H0e)
      84. Call Lcd_write_data(&H14)
      85. Call Lcd_write_data(&H03)
      86. Call Lcd_write_data(&H11)
      87. Call Lcd_write_data(&H07)
      88. Call Lcd_write_data(&H31)
      89. Call Lcd_write_data(&Hc1)
      90. Call Lcd_write_data(&H48)
      91. Call Lcd_write_data(&H08)
      92. Call Lcd_write_data(&H0f)
      93. Call Lcd_write_data(&H0c)
      94. Call Lcd_write_data(&H31)
      95. Call Lcd_write_data(&H36)
      96. Call Lcd_write_data(&H0f)
      97. Call Lcd_write_command(&H11) 'Exit Sleep
      98. Waitms 150
      99. Call Lcd_write_command(&H29) 'normal display on
      100. End Sub
      Display All

      Mit diesem aus einer Beschreibung aus dem Netz (Adresse verloren) nicht richtig:

      Source Code

      1. Sub Lcd_init() ' ili9481/68/88/hx8357/r61581
      2. Call Lcd_write_command(&Hff)
      3. Call Lcd_write_command(&Hff)
      4. Waitms 5
      5. Call Lcd_write_command(&Hff)
      6. Call Lcd_write_command(&Hff)
      7. Call Lcd_write_command(&Hff)
      8. Call Lcd_write_command(&Hff)
      9. Waitms 10
      10. Call Lcd_write_command(&Hb0)
      11. Call Lcd_write_data(0)
      12. Call Lcd_write_command(&Hb3) 'frame control normal
      13. Call Lcd_write_data(&H02)
      14. Call Lcd_write_data(0)
      15. Call Lcd_write_data(0)
      16. Call Lcd_write_data(&H10)
      17. Call Lcd_write_command(&Hb4) 'display inverson
      18. Call Lcd_write_data(&H11) '/10
      19. Call Lcd_write_command(&Hc0) 'power control normal
      20. Call Lcd_write_data(&H13) '2A
      21. Call Lcd_write_data(&H3b)
      22. Call Lcd_write_data(&H00)
      23. Call Lcd_write_data(&H00)
      24. Call Lcd_write_data(&H00)
      25. Call Lcd_write_data(&H01)
      26. Call Lcd_write_data(&H00)
      27. Call Lcd_write_data(&H43)
      28. Call Lcd_write_command(&Hc1) 'power control normal
      29. Call Lcd_write_data(&H08)
      30. Call Lcd_write_data(&H15)
      31. Call Lcd_write_data(&H08)
      32. Call Lcd_write_data(&H08)
      33. Call Lcd_write_command(&Hc4) 'power control normal
      34. Call Lcd_write_data(&H15) '8a
      35. Call Lcd_write_data(&H03)
      36. Call Lcd_write_data(&H03)
      37. Call Lcd_write_data(&H01)
      38. Call Lcd_write_command(&Hc6) '
      39. Call Lcd_write_data(&H02)
      40. Call Lcd_write_command(&Hc8) '
      41. Call Lcd_write_data(&H0c) '
      42. Call Lcd_write_data(&H05) '
      43. Call Lcd_write_data(&H0a) ' 12
      44. Call Lcd_write_data(&H6b) ' 7d
      45. Call Lcd_write_data(&H04) '
      46. Call Lcd_write_data(&H06) ' 8
      47. Call Lcd_write_data(&H15) ' 0a
      48. Call Lcd_write_data(&H10) '
      49. Call Lcd_write_data(&H00) '
      50. Call Lcd_write_data(&H31) ' 23
      51. Call Lcd_write_data(&H10) '
      52. Call Lcd_write_data(&H15) ' 0a
      53. Call Lcd_write_data(&H06) ' 08
      54. Call Lcd_write_data(&H64) ' 74
      55. Call Lcd_write_data(&H0d) ' 0b
      56. Call Lcd_write_data(&H0a) ' 12
      57. Call Lcd_write_data(&H05) ' 08
      58. Call Lcd_write_data(&H0c) ' 06
      59. Call Lcd_write_data(&H31) ' 23
      60. Call Lcd_write_data(&H00)
      61. Call Lcd_write_command(&H35) '
      62. Call Lcd_write_data(&H00) '
      63. Call Lcd_write_command(&H36) '
      64. Call Lcd_write_data(&H00) '
      65. Call Lcd_write_command(&H0c) '
      66. Call Lcd_write_data(&H66) '
      67. Call Lcd_write_command(&H3a) '
      68. Call Lcd_write_data(&H66) '
      69. Call Lcd_write_command(&H44) '
      70. Call Lcd_write_data(&H00) '
      71. Call Lcd_write_data(&H01) '
      72. Call Lcd_write_command(&Hd0) '
      73. Call Lcd_write_data(&H07) '
      74. Call Lcd_write_data(&H07) ' VCI 1
      75. Call Lcd_write_data(&H03) ' VCRH $1D
      76. Call Lcd_write_data(&H0f) ' BT $06
      77. Call Lcd_write_command(&Hd1) '
      78. Call Lcd_write_data(&H03) '
      79. Call Lcd_write_data(&H5a) ' VCM $5A
      80. Call Lcd_write_data(&H10) ' VDV
      81. Call Lcd_write_command(&Hd2) '
      82. Call Lcd_write_data(&H03) '
      83. Call Lcd_write_data(&H04) ' 24
      84. Call Lcd_write_data(&H04) '
      85. Call Lcd_write_command(&H11) '
      86. Waitms 150
      87. Call Lcd_write_command(&H2a) '
      88. Call Lcd_write_data(&H00) '
      89. Call Lcd_write_data(&H00) '
      90. Call Lcd_write_data(&H01) '
      91. Call Lcd_write_data(&H3f) ' 320
      92. Call Lcd_write_command(&H2b) '
      93. Call Lcd_write_data(&H00) '
      94. Call Lcd_write_data(&H00) '
      95. Call Lcd_write_data(&H01) '
      96. Call Lcd_write_data(&Hdf) ' 480
      97. Call Lcd_write_command(&Hb4) '
      98. Call Lcd_write_data(&H00) '
      99. Waitms 100
      100. Call Lcd_write_command(&H29) 'Display On
      101. Waitms 30
      102. Call Lcd_write_command(&H2c) '
      103. End Sub
      Display All
      Jedoch zeigt es fast immer irgendwas. Völlig tot blieb es nur bei pinfehlern
    • @Pluto25
      Danke für deinen Input. In der Zwischenzeit habe ich festgestellt dass ich vom falschen Programm (ILI9486 Spi Display.bas) aus gegangen bin. Ich habe mir danach das Programm Uni-TFT-ILI9481-86-88.bas (Parallel-Input) angeschaut und festgestellt dass hier für den ILI9388 eine Initialisierungsroutine vorhanden ist. Ich habe dann diese Routine mit der ILI9486 Spi Display.bas kombiniert und dann einen Versuch gestartet. Ergebnis negativ, keine Displayreaktion.
      Danach habe ich deine bei dir funktionierende Routine verwendet; Ergebnis negativ, keine Reaktion.
      Danach ein Versuch mit der bei dir nicht funktionierenden Routine: Ergebnis es tat sich was auf dem Display, mit etwas Fantasie konnte man die Buchstaben erkennen.
      Danach habe ich verschiedenste Abänderungen in dieser Routine vorgenommen, alle mit dem gleichen Ergebnis.
      Eine Analyse der Initialisierungsroutinen mit den entsprechenden Datenblättern ergibt z.T. keinen Sinn. Vielfach werden nach dem Registeraufruf zu viele Daten oder sinnlose Daten übermittelt.
      Versucht man die Register logisch zu belegen so funktioniert das auch nicht. z.B. ist es mir schleierhaft warum mit Register 3A bei 18 Bits/Pixel etwas zu sehen ist, bei 16 Bit/Pixel jedoch gar nichts (obwohl die Initialisierungsroutinen von hkipnick mit diesem Wert arbeiten) .
      Auch Register-Vergleiche und Versuche zwischen ILI9488 mit dem ILI9486 ergeben nichts, keine Anzeige
      Es darf also weiter gesucht werden.
      Gruss
      jepe
    • In meinen fand ich nicht mal die passenden Befehle (Bx,Cx,Ex). Leider hab ich mit den ili wenig Erfahrung. Bei einigen anderen sind kaum Init befehle nötig. Beim 7735 fiel es nicht auf sie alle wegzulassen. Dort ist das ganze init nur noch fünf Befehle lang. Ich werd mal testen wie der ili sich da verhält.
      Nicht alles darf Fehlen:

      Source Code

      1. Sub Lcd_init()
      2. Lcd_rst = 0
      3. Waitms 150
      4. Lcd_rst = 1
      5. Waitms 150
      6. Call Lcd_write_command(&Hed) 'Power on sequence control
      7. Call Lcd_write_data(&H64)
      8. Call Lcd_write_data(&H03)
      9. Call Lcd_write_data(&H12)
      10. Call Lcd_write_data(&H81)
      11. Call Lcd_write_command(&H36) 'Memory Access Control
      12. Call Lcd_write_data(&B0100_1000)
      13. Call Lcd_write_command(&H3a) 'COLMOD: Pixel Format Set
      14. Call Lcd_write_data(5)
      15. Call Lcd_write_command(&H11) 'Exit Sleep
      16. Waitms 150
      17. Call Lcd_write_command(&H29) 'normal display on
      Display All
      Ohne $ED flackert es hier ärmlich.
      Befehl $38/39 hat auch mit den Farben zu tun. 3A ist bei mir nur 5. Andere Werte ergeben Buchstabenchaos

      The post was edited 1 time, last by Pluto25 ().

    • jepe wrote:

      Register-3A-Wert
      Die können das Bild völlig durcheinander bringen aber es wird immer eins geben, Gleiches gilt für $36. Völlig apatisch wird es mit
      $10 (sleep) Abhilfe $11
      $28(Diplay off) Abhilfe $29
      Ein anderes reagierte allergisch (gar nicht mehr) bei $38 (idle off) und ging erst wieder mit $39.
      Hat Dein Programm die Möglichkeit ihn abzufragen? Das könnte Aufschluß geben was er "denkt" vor allem aber welcher Chip wirklich dort werkelt.
      Dann gabs da noch was mit "Normal Mode" $17???
    • Ich kann leider das Display nicht auslesen, ich kann es nur beschreiben.
      Interessant ist auch dass das Display nur zu ca. 2/3 gelöscht und verwendet wird obwohl 480x320 Pixel angegeben ist.
      Leider ist es mir bis jetzt nicht gelungen wo in den Registern gedreht werden muss damit eine vernünftige Anzeige erscheint.
      Ich habe etliche Kandidaten versucht, bis jetzt ohne Erfolg.
    • jepe wrote:

      Display nur zu ca. 2/3 gelöscht
      Dann stimmt vermutlich der Memory Access Control = Command $36 nicht. Versuch mal :
      Call Lcd_write_command($36)
      Call Lcd_write_data($28) ' 88
      Portray/Landscape? Bit 5
      Stimmen die Farben? Bit 3
      Die Buchstaben(Spiegelschrift)? Bit 7
      Gab es in der ursprünglichen Init etwas wie "#if Lcd_mode = ...."
      Dann sollte das wieder rein. Der Rest des Programms nutzt das auch.
      z.B. das Set Window muß das 480/320 richtigrum setzen.
      Das Lcd_Clear sendet 307200 Bytes? ( 480x320x2).
      PS zu den "fantasie Buchstaben" Hier war das " Spsr.0 = 1" (unter dem Config Spi ) auskommentiert.
      Nachdem ich es setzte ging das löschen schneller aber die Schrift machte nur noch Unsinn.
    • Also ich habe alle deine Vorschläge und viele mehr ausprobiert. Keiner hat eine Verbesserung gebracht. Auch z.B. Vergrössern auf 480x480 ergab genau das gleiche Resultat.
      Auch eine Verlangsamung des SPI-Taktes um /4 ergab keine Änderung.
      Ich weiss dass ich mit 18Bit/Pixel arbeite statt 16 Bit/Pixel. Aber mit 16 Bit/Pixel erscheint nichts, lediglich der Bildschirm wird etwas dunkler. Also sind alle Versuche mit 18Bit/Pixel.
      Was ich nicht verstehe ist dass nur zu 2(3 gelöscht wird (siehe Bild 1), ich aber problemlos in den nicht gelöschten Bereich schreiben kann (siehe Bild 3). Wenn ich jedoch ein Rechteck zeichne hört es ebenfalls an dieser Grenze auf (siehe Bild 2). Auch Quadrate werden nicht vollständig ausgeführt (siehe Bild 1).
      Ich habe das Datenblatt soweit studiert und nicht herausgefunden woran es liegen kann (oder ich sehe den Wald vor lauter Bäumen nicht).
      Da ich das Display lediglich zum Versuchen gekauft habe lege ich es vorläufig auf die Seite und warte auf kalte dunkle Wintertage ;) .
      Anbei noch 3 Bilder und die vorläufig letzte Initialisierungsroutine.

      P.S. wie kopiert ihr Quellcode hier hinein?
      Files
      • Init.txt

        (7.41 kB, downloaded 19 times, last: )
      • Bild 1.JPG

        (157.63 kB, downloaded 8 times, last: )
      • Bild 2.JPG

        (240.62 kB, downloaded 8 times, last: )
      • Bild 3.JPG

        (291.11 kB, downloaded 9 times, last: )
    • Ok Bilder werden jetzt angezeigt.
      Aber vorhin stand da wirlich nur

      Bidl 1
      Bild 2
      Bild 3


      jepe wrote:

      wie kopiert ihr Quellcode hier hinein?

      Quellcode kopieren ist einfach.

      Kopiere deinen Code in die Zwischenablage (STRG + C) und dann klickst du hier auf "</>" (im Editor) und fügst den dann in das Textfeld ein (STRG + V). Als Syntax-hervohebung noch Bascom-Quellcode auswählen, Speichern, fertig.
      Eine Lösung habe ich nicht, aber mir gefällt Ihr Problem.
    • Wenn ich im Register 3A den Wert 5 eingebe so geschieht auf dem Display nichts (keine irgendwie geartete Reaktion) obwohl dies der richtige Wert wäre. Mit Wert 6 sieht man etwas (siehe Bilder oben).
      Ich habe mittlerweile an fast allen relevanten Registern gedreht ohne erkennbare Änderung. Langsam glaube ich es handelt sich hier nicht um einen ILI9488 sondern etwas anderes.
      Welcher Code? Der Initialisierungscode stammt von dir; derjenige der nicht richtig funktioniert. Ansonsten sind alle anderen Zeichen-Routinen diejenigen von hkipnik aus dem Programm Uni-TFT-ILI9481-86-88.bas ILI9486 Spi Display.bas (ILI9486_routines_spi.inc)

      The post was edited 1 time, last by jepe ().

    • Beim 3A Reg gibst auch ein oberes nibble das für irgendwas gut ist. (Bei mir keine Änderung ) Denkbar das bei dir da ganze evt $65 oder $56 sein könnte. (64 Möglichkeiten) Gut wenn das Programm von außen geändert werden kann ohne es jedesmal neu zu brennen. (Das geht auch schonmal schief: Das oben genannte Flackern ist weg auch Spsr.0 = 1 geht jetzt . Was auch immer da schief gelaufen ist ?( )
      Vermutlich hatte ich "Erase Chip" vergessen a_71_f9c57bbe
      Die Routine wurden auf Spi umgearbeitet. Denkbar das da irgendwas nicht richtig will.
      Das Löschen von links nach rechts oder von Oben nach unten?
      Im ersten Fall könnte es helfen in der Sub Lcd_Clear X_size uns Y_size zu tauschen.
      Die Farben scheinen auch nicht ok. Abwechselnd Clear green/yellow/blue... oder ähnliches würde deutlich zeigen ob sie stimmen.
      Dein Text ist "Font... "? nicht "Hallo Word" ( Hkipnik-Code vom 01.05.15)
      Daher wäre der Code schon interessant damit wir wirklich von gleichen sprechen
    • Das obere Nibble ist für einen anderen Eingang. Ich habe die Kombinationen bereits ausprobiert; keine Änderung.
      Beim Programm bezog ich mich auf die .inc-Routine von Hkipnik. Mein Programm ist ein reines Testprogramm dass diese Routinen aufruft.
      Anbei mein Testprogramm incl. der 2 .inc-Routinen (das bis jetzt nicht richtig funktioniert :( ).
      Das Datenblatt für den ILI9488 kann hier heruntergeladen werden.
      Files

      The post was edited 1 time, last by jepe ().

    • Wow. Das macht nen ganzen Film. Bestimmt schik wenns funktioniert. Zum Testen vielleicht nur wenige Anweisungen damit der Überblick bleibt was er gerade hätte tun sollen. Nützlich ist auch ein Print davor. (Hier waren die Farben vertauscht was erstmal gar nicht auffiehl)
      Setzte ich hier E8 im Register 36 siehts ähnlich falsch aus: Das Clear blue läuft falschrum.(das Gelb ist vor dem Umschalten auf E8 entstanden.
      IMG_20200926_064741.gif
      Die Hieroglyphen unten sind kein Programmfehler sondern Zeichen die der Font nicht hat a_67_e210de67
      Versuch mal Lcd-Mode=1 . richtigrum setzen geht immer noch wenns erstmal läuft
    • Nun die Zusammenfassung zum Schluss.
      Nachdem ich in der Nacht eine Internetsuche auf den Arduino-Seiten bezüglich des ILI9488 durchgeführt habe habe ich folgendes festgestellt:
      - gemäss hier ist der SPI-Betrieb des Displays nur mit 8-Farben (RGB 1-1-1) oder 65k-Farben (RGB 6-6-6) möglich. Der von Hkipnik verwendete (und auch vom ILI9486 /-41 unterstützte 65k-Farben RGB 5-6-5 ) -Betrieb ist beim ILI9488 NICHT möglich. Es würde eine komplette Umschreibung der Treiber auf RGB 6-6-6 bedeuten.
      - sieht man im Datenblatt des ILI9488 nach so stellt man auf Seite 121 fest dass der RGB 5-6-5 -Betrieb zwar aufgelistet ist, aber in den 2 nachfolgenden Diagrammen nicht mehr erwähnt wird; ergo wahrscheinlich ein Datenblattfehler.
      Dies dürfte auch der Grund sein dass nur mit RGB 6-6-6 etwas auf dem Schirm erscheint, allerdings fehlt das 3. Byte. Damit könnte auch erklärt werden warum nur 2/3 des Bereichs gelöscht werden da nur 2 statt 3 Bytes pro Pixel gesendet werden, ergo werden auch nur 2/3 des Schirms erreicht.

      Fazit: meine Meinung über chinesische Ingenieure hat etwas gelitten. ?(
      Ich kann nicht verstehen wie man die Displayfläche von 320x240 auf 480x320 vergrössert (und damit dauert die serielle Übertragung länger) und GLEICHZEITIG noch von die 2Byte RGB 5-6-5 streicht und nur 3 Byte RGB 6-6-6 verwendet (nochmal 50% langsamer im Vergleich zu 320x240) a_45_132ca9f5 siehe auch hier
      Damit bleibe ich für SPI beim ILI9441 und ILI9486. Beide laufen problemlos bei mir. (P.S. die Behauptung dass auch der ILI9486 RGB 5-6-5 nicht kann kann ich nicht bestätigen; dieses Display funktioniert)
      Das Display geht nun in die hinterste Schublade.

      @Pluto25 nochmals vielen Dank für deine Hilfe und Einsatz
    • Na das wäre aber jetzt blöd. Im Datenblatt sind verschiedene Stellen wo darauf eingegangen wird.
      Wurde die nichtbeschriebene Stelle denn kleiner als es 480x480 war?
      Bei Schrift würde das dritte Byte nicht auffallen . Zum Löschen würde der 3bit Mode einen erheblichen Zeitvorsprung bringen wenn eine der sechs Farben (+Schwarz/weiss)gewählt wird. Diesen Mode beherrschen die Vörgänger leider nicht. Ich muß hier zwei Byte für drei bit Farbinfo senden a_67_e210de67
      Du brauchst nur ein Byte für zwei Pixel.

      jepe wrote:

      GLEICHZEITIG noch von die 2Byte RGB 5-6-5 streicht und nur 3 Byte RGB 6-6-6 verwendet
      Möglicherweise ein Designfehler der erst auffiehl als die Fertigung schon lief. a_166_29aea317

      PS Der m1284 hat unglaublich viele Beinchen, wäre da paralell keine Option?