cancel
Showing results for 
Search instead for 
Did you mean: 

STM32F429I DISCOVERY display + ILI9341

Vitor Pereira
Associate II
Posted on January 28, 2018 at 18:09

Hi, I'm trying to make the first and super basic program for the display on the STM32F429I DISCOVERY board. It is supposed to just to make the display blue when the the board is on.

It is said in the schematic that the interface used between the STM32F429 and the display controller (the ILI9341 IC) is the 4-wire 8-bit serial I, SDA:In/Out interface. Reading the ILI9341's datasheet I found that in order to use the LTDC parallel interface it's necessary to be sent three command through this Half-Duplex SPI: RGB Interface Signal Control (B0h + 40), Pixel Format Set (3Ah + 66h) and Interface Control (F6h + {01h, 00h, 00h}). After that, I'm initializing the LTDC with the CubeMX generated code, which is suppose to make the screen blue. My code is as following:

0690X00000609TCQAY.png0690X00000609VbQAI.png0690X00000609TmQAI.png0690X00000609WAQAY.png

0690X00000609KCQAY.png 0690X00000609KDQAY.png

0690X00000609WoQAI.png 0690X00000609WKQAY.png

   As you can see, I'm also setting and resetting the DCX pin, according to the ILI9341 datasheet, as weel as the CSX pin.

All that said, here's the problem: it doesn't work.

What am I missing? Couldn't find something that helps me around here so far. Could anybody who made a firmware for the STM32F429I Discoery board's display help me with it?

Thanks a lot

V�tor Pereira

#stm32f4 #ili9341 #stm32f4-ltdc #lcd-display
3 REPLIES 3
Posted on January 29, 2018 at 11:53

Do you know the BSP packages ST provides for your board ?

If not, you can download a preconfigured SW4STM32 project for your board here:

http://www.dasrotemopped.de/index.php?var=cpp&nr=0

If you do not want to rely your Project on the BSP files, do yourself

a favour and write a proper driver for the ILI9341.

Did you verify that your pin toggling is in sync with the SPI Transmission with a logic analyzer ?

I had some Problems with the correct Timing between SPI5 signals and the GPIO D/C and CS.

A Bridge from Software SPI CS Pin PC2 to the Hardware CS pin PF6 may solve one Timing Problem on the F429i-disco. With Hardware CS on SPI5, you can also use DMA.

Posted on January 31, 2018 at 12:18

Hi, 

Indeed, I'm more interested in writing a proper driver myself.

I don't have access to a logic analyzer in the moment, but soon I will.

So you think it might be a sync problem? I mean, you've written a driver and came to the conclusion that there isn't any other steps besides those 3 commands and the toggling pins (with proper sync, of course)?

After I have the logic analyzer in hands and see what's happening, I'll get back here to contribute on that.

Thanks

Vítor Pereira

Posted on January 31, 2018 at 22:46

Just have a look at the ili9341.h/.c files in the BSP Project to get an idea how the initialisation of the ili9341 should look like for the F429i-disco. Have the ili9341 datasheet close at hand to understand the steps done in the BSP driver.