cancel
Showing results for 
Search instead for 
Did you mean: 

stm32F429BI + LCD does not switch-on the display

I am starting some test with this module
https://it.aliexpress.com/item/1005002482177244.html
with 7” lcd

I have found only one example that run but with Touchgfx

I have got the same ioc from this example to generate a new code and insert the functions to switch on lcd but still no result

I would like to use the normal functions

BSP_LCD_Init() ;

BSP_LCD_DisplayStringAt(10, 80, buf, LEFT_MODE);

BSP_LCD_DrawBitmap(0, 0, (uint8_t *)(&BackGround0));

 

 

 

1 ACCEPTED SOLUTION

Accepted Solutions

>>Is there other parts to compare ?

Convince me the SDRAM is working, write and read-back assorted walking bit test patterns.

We've already seen the LTDC getting working colour data from functional memory. Hey park a suitable bit map in internal flash, or some colour bar test patterns in there.

Tips, Buy me a coffee, or three.. PayPal Venmo
Up vote any posts that you find helpful, it shows what's working..

View solution in original post

45 REPLIES 45

Yeah, not sure your audience here is going to be very large, and the presented code largely unrelated to the issue.

Does it WORK with ANY of the examples you have to hand?

Any details on the display, it's controllers, datasheets, etc? Does the vendor have a github, or code available?

Looks to be a FANKE FK429M1-BIT6 board.

This example? Always cite what you're dealing with

https://github.com/aventuri/fk429m1-lcd5-touchGfx-stub/blob/master/README.md

Expect you're going to need to code or port a driver, but for that you'll need actual workable details.

Tips, Buy me a coffee, or three.. PayPal Venmo
Up vote any posts that you find helpful, it shows what's working..

Yes, the fk429m1-lcd5-touchGfx-stub-master example work but it need TouchGfx develop tool..

I want to use normal BSP function because I have develop many graphic item in the previous projects using the STM32F469-DISCO and STM32F746-DISCO.

BSP is created for concrete display, then you write own or correct differences for actual used display. TouchGFX have nothink todo with driver and hw part. TouchGFX is C++ code generator for inteligent GUIs.

IOC dont generate hw based part of configs and required parts of code.

this is my last code that does not run

www.audiodesignguide.com/sw1/stm32F429BI-test2.zip

 

Yes, I have integrated the sources with the BSP_ functions

BSP_LCD_DisplayStringAt(), BSP_LCD_DrawBitmap(), lines and circle primitives basically paint into a simple frame buffer. The form, colour depths and geometry needs to match the data shovelling out via LTDC, with the timings to match those of the display expectations. The MHz pixel clocks need to relate to the KHz line output, and Hz refresh rate.

 

Do you have any datasheets for the 7" panel? 800x480 24-bpp? Controller?

Tips, Buy me a coffee, or three.. PayPal Venmo
Up vote any posts that you find helpful, it shows what's working..

Frame buffer 1024x600, LTDC 800x480

Tips, Buy me a coffee, or three.. PayPal Venmo
Up vote any posts that you find helpful, it shows what's working..

new ver with strange vertical line

www.audiodesignguide.com/sw1/stm32F429BI-test2%20%282%29.zip

 

hltdc.Instance = LTDC;

hltdc.Init.HSPolarity = LTDC_HSPOLARITY_AL;

hltdc.Init.VSPolarity = LTDC_VSPOLARITY_AL;

hltdc.Init.DEPolarity = LTDC_DEPOLARITY_AL;

hltdc.Init.PCPolarity = LTDC_PCPOLARITY_IPC;

hltdc.Init.HorizontalSync = 1;   ?

hltdc.Init.VerticalSync = 1;   ?

hltdc.Init.AccumulatedHBP = 76;   ?

hltdc.Init.AccumulatedVBP = 40;  -> see vertical line and with 23 no output

hltdc.Init.AccumulatedActiveW = 880;   ?

hltdc.Init.AccumulatedActiveH = 520;   ?

hltdc.Init.TotalWidth = 1080;   ?

hltdc.Init.TotalHeigh = 542;   ?

hltdc.Init.Backcolor.Blue = 0;

hltdc.Init.Backcolor.Green = 0;

hltdc.Init.Backcolor.Red = 0;

if (HAL_LTDC_Init(&hltdc) != HAL_OK)

{

Error_Handler();

}

pLayerCfg.WindowX0 = 0;

pLayerCfg.WindowX1 = 799;

pLayerCfg.WindowY0 = 0;

pLayerCfg.WindowY1 = 479;

pLayerCfg.PixelFormat = LTDC_PIXEL_FORMAT_RGB888;

pLayerCfg.Alpha = 255;

pLayerCfg.Alpha0 = 0;

pLayerCfg.BlendingFactor1 = LTDC_BLENDING_FACTOR1_CA;

pLayerCfg.BlendingFactor2 = LTDC_BLENDING_FACTOR2_CA;

pLayerCfg.FBStartAdress = 0xD0000000;

pLayerCfg.ImageWidth = 800;

pLayerCfg.ImageHeight = 480;

pLayerCfg.Backcolor.Blue = 0;

pLayerCfg.Backcolor.Green = 0;

pLayerCfg.Backcolor.Red = 0;

if (HAL_LTDC_ConfigLayer(&hltdc, &pLayerCfg, 0) != HAL_OK)

{

Error_Handler();

}

pLayerCfg1.WindowX0 = 0;

pLayerCfg1.WindowX1 = 800;

pLayerCfg1.WindowY0 = 0;

pLayerCfg1.WindowY1 = 400;

pLayerCfg1.PixelFormat = LTDC_PIXEL_FORMAT_ARGB8888;

pLayerCfg1.Alpha = 0;

pLayerCfg1.Alpha0 = 0;

pLayerCfg1.BlendingFactor1 = LTDC_BLENDING_FACTOR1_CA;

pLayerCfg1.BlendingFactor2 = LTDC_BLENDING_FACTOR2_CA;

pLayerCfg1.FBStartAdress = 0;

pLayerCfg1.ImageWidth = 0;

pLayerCfg1.ImageHeight = 0;

pLayerCfg1.Backcolor.Blue = 0;

pLayerCfg1.Backcolor.Green = 0;

pLayerCfg1.Backcolor.Red = 0;

if (HAL_LTDC_ConfigLayer(&hltdc, &pLayerCfg1, 1) != HAL_OK)

{

Error_Handler();

}

 

 

20240423_223316.jpg

This is an up-hill struggle.

What's the Make/Model of Screen?

What's the Resolution of the Screen?

Can you provide a picture of the back showing the controller or part#, large, clear and in-focus.

Is there a Data Sheet for the Screen?

 

Line totals are a combination of sync, front and back porches, and the active portion (ie visible pixels), count's in pixels. Think Preamble, Content, Postamble

https://electronics.stackexchange.com/questions/639750/how-can-front-and-backporch-in-tft-displays-be-inexact

 

Tips, Buy me a coffee, or three.. PayPal Venmo
Up vote any posts that you find helpful, it shows what's working..