STM32H743 LTDC Problem
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2025-04-06 12:27 PM - edited ‎2025-04-06 12:34 PM
Hey,
I have a confusing error, i have a Riverdi 7" TFT Panel (https://download.riverdi.com/RVT70HSTNWC00-B/DS_RVT70HSTNWC00-B_Rev.1.2.pdf)
Actually my LTDC Init is this:
static void MX_LTDC_Init(void)
{
/* USER CODE BEGIN LTDC_Init 0 */
/* USER CODE END LTDC_Init 0 */
LTDC_LayerCfgTypeDef pLayerCfg = {0};
/* USER CODE BEGIN LTDC_Init 1 */
/* USER CODE END LTDC_Init 1 */
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 = 0;
hltdc.Init.VerticalSync = 0;
hltdc.Init.AccumulatedHBP = 160;
hltdc.Init.AccumulatedVBP = 23;
hltdc.Init.AccumulatedActiveW = 1184;
hltdc.Init.AccumulatedActiveH = 623;
hltdc.Init.TotalWidth = 1344;
hltdc.Init.TotalHeigh = 635;
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 = 1024;
pLayerCfg.WindowY0 = 0;
pLayerCfg.WindowY1 = 600;
pLayerCfg.PixelFormat = LTDC_PIXEL_FORMAT_RGB888;
pLayerCfg.Alpha = 255;
pLayerCfg.Alpha0 = 255;
pLayerCfg.BlendingFactor1 = LTDC_BLENDING_FACTOR1_CA;
pLayerCfg.BlendingFactor2 = LTDC_BLENDING_FACTOR2_CA;
pLayerCfg.FBStartAdress = 0xC0000000;
pLayerCfg.ImageWidth = 1024;
pLayerCfg.ImageHeight = 600;
pLayerCfg.Backcolor.Blue = 255;
pLayerCfg.Backcolor.Green = 0;
pLayerCfg.Backcolor.Red = 0;
if (HAL_LTDC_ConfigLayer(&hltdc, &pLayerCfg, 0) != HAL_OK)
{
Error_Handler();
}
/* USER CODE BEGIN LTDC_Init 2 */
/* USER CODE END LTDC_Init 2 */
}
the Layer0 background is set to blue, if my WindowsX1 = 1024, my background shows no blue screen, but only gray..
if i decrease WindowX1 to 500, then my screen is half blue, if i change WindowsX1 to 0 then my Screen are complete blue..
whats wrong? my LCD is in 18-Bit mode (RGB666) and V/HSync and the DCLK of the display is 50 MHZ, Pixel Format is set to RGB888.
my external sdram works fine, here is the test result:
-------------------- SDRAM 16 bit access -------------------
Write 16-bit data , size: 32 MB, elapsed time: 825 ms, write speed: 38.79 MB/s
Read 16-bit data, size: 32 MB, elapsed time: 3161 ms, read speed: 10.12 MB/s
-------------------- 16 Bit data validation -------------------
SDRAM 16-bit data validation pass!
Solved! Go to Solution.
Accepted Solutions
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2025-04-09 10:29 PM
Hello Gaetan,
Thank you, i contacted the guys at Riverdi, and they help me.
The Settings for my TFT was a little bit wrong, after the changed, touchGFX worked :)
Regards,
Daniel
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2025-04-09 6:53 AM
Hello @Sany ,
It looks like expected behavior.
Meaning that the blue background is there is nothing happens.
When you have X1 at 1024, the transfer happens so you transfer the framebuffer and when you reduce X1 to 0, nothing gets transferred so only the default blue background is showing.
Have you enabled TouchGFX? What is the content of your framebuffer?
Can you change some colors and see how your display behaves?
Regards,
Software engineer at ST (TouchGFX)
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2025-04-09 10:29 PM
Hello Gaetan,
Thank you, i contacted the guys at Riverdi, and they help me.
The Settings for my TFT was a little bit wrong, after the changed, touchGFX worked :)
Regards,
Daniel
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2025-04-10 12:39 AM - edited ‎2025-04-10 12:40 AM
Please share Reverdi settings before accepting the solution.
This to ensure that someone else could find the solution if he fall into the same issue.
Thank you.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2025-04-10 2:18 AM
Hello @Sany ,
I am glad to hear that!
Can you share what was the issue?
Regards,
Software engineer at ST (TouchGFX)
