nopnop2002 / Arduino-STM32-8bitTFT

8bit parallel TFT Library for Arduino_Core_STM32
Apache License 2.0
18 stars 8 forks source link

Open-Smart ILI9225 8bit Support #10

Closed ProtMonster closed 10 months ago

ProtMonster commented 10 months ago

I have an ILI9225 Parallel TFT 2.0" display with the following wiring, but i only see white screen with STM32F401 MCU.

D0-D7 -> PA0->PA7, TFT_CS -> PB8, TFT_DC -> PB5, TFT_RST -> PB9, TFT_WR -> PB1, TFT_RD -> PB0

I use this config:

define TFT_DATA GPIOA

define TFT_PORT PORT_LOW

define TFT_D0 LL_GPIO_PIN_0

define TFT_D1 LL_GPIO_PIN_1

define TFT_D2 LL_GPIO_PIN_2

define TFT_D3 LL_GPIO_PIN_3

define TFT_D4 LL_GPIO_PIN_4

define TFT_D5 LL_GPIO_PIN_5

define TFT_D6 LL_GPIO_PIN_6

define TFT_D7 LL_GPIO_PIN_7

define TFT_RD LL_GPIO_PIN_0

define TFT_WR LL_GPIO_PIN_1

define TFT_RS LL_GPIO_PIN_5

define TFT_CS LL_GPIO_PIN_8

define TFT_RST LL_GPIO_PIN_9

An ILI9341 display works fine with the same setup. Is the ILI9225 display not supported?

(The ILI9225 display also works with the TFT_eSPI library)

readReg40(BF)=0x0 readReg32(D4)=0x0 readReg40(EF)=0x1818 readReg32(FE)=0x0 readReg32(04)=0x0 readReg32(D3)=0x0 readReg16(0)=0x9226 Device ID: 0x9226 Width: 176 Height: 220

nopnop2002 commented 10 months ago

This library supports ILI9225, but OpenSmart products will not work.

This is probably due to the OpenSmart product's inability to follow fast GPIO toggles.

I have the following OpenSmart products, but none of them work. ILI9225, ILI9327, ILI9340, S6D1121, ST7775, ST7783, R61509V and ILI9488.

OPEN-SMART-16Pin OPEN-SMART-Shield

I experienced the same phenomenon with ESP32 + OpenSmart product.

This library performs very fast GPIO toggle operations. Adding a delay to the GPIO toggle works, but it slows down the overall operation.

ProtMonster commented 10 months ago

Thanks for the quick response.

Then I will not use this display for STM32. (Works with TFT_eSPI library, but makes huge binary code)

Unfortunately, I still don't know enough about programming to know where the "delay" should be in the code, but I will try. :)

The ILI9341 display works amazingly fast with this library.