HSE_VALUE=8000000
DATA_IN_ExtSDRAM
STM32F429I_DISCOVERY
STM32F429xx
USE_STM32F429I_DISCO
/* Configure horizontal synchronization width */
LtdcHandler.Init.HorizontalSync = 19;
/* Configure vertical synchronization height */
LtdcHandler.Init.VerticalSync = 9;
/* Configure accumulated horizontal back porch */
LtdcHandler.Init.AccumulatedHBP = 65;
/* Configure accumulated vertical back porch */
LtdcHandler.Init.AccumulatedVBP = 32;
/* Configure accumulated active width */
LtdcHandler.Init.AccumulatedActiveW = 865;
/* Configure accumulated active height */
LtdcHandler.Init.AccumulatedActiveH = 512;
/* Configure total width */
LtdcHandler.Init.TotalWidth = 1065;
/* Configure total height */
LtdcHandler.Init.TotalHeigh = 534;
/* Horizontal synchronization width = Hsync - 1 */
LtdcHandle.Init.HorizontalSync = 19;
/* Vertical synchronization height = Vsync - 1 */
LtdcHandle.Init.VerticalSync = 9;
/* Accumulated horizontal back porch = Hsync + HBP - 1 */
LtdcHandle.Init.AccumulatedHBP = 65;
/* Accumulated vertical back porch = Vsync + VBP - 1 */
LtdcHandle.Init.AccumulatedVBP = 32;
/* Accumulated active width = Hsync + HBP + Active Width - 1 */
LtdcHandle.Init.AccumulatedActiveH = 512;
/* Accumulated active height = Vsync + VBP + Active Height - 1 */
LtdcHandle.Init.AccumulatedActiveW = 865;
/* Total height = Vsync + VBP + Active Height + VFP - 1 */
LtdcHandle.Init.TotalHeigh = 534;
/* Total width = Hsync + HBP + Active Width + HFP - 1 */
LtdcHandle.Init.TotalWidth = 1065;
=============================================================
Fron CubeMX
LTDC_HandleTypeDef hltdc;
LTDC_LayerCfgTypeDef pLayerCfg;
LTDC_LayerCfgTypeDef pLayerCfg1;
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 = 19;
hltdc.Init.VerticalSync = 9;
hltdc.Init.AccumulatedHBP = 65;
hltdc.Init.AccumulatedVBP = 32;
hltdc.Init.AccumulatedActiveW = 865;
hltdc.Init.AccumulatedActiveH = 512;
hltdc.Init.TotalWidth = 1065;
hltdc.Init.TotalHeigh = 534;
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 = 800;
pLayerCfg.WindowY0 = 0;
pLayerCfg.WindowY1 = 480;
pLayerCfg.PixelFormat = LTDC_PIXEL_FORMAT_RGB565;
pLayerCfg.Alpha = 0;
pLayerCfg.Alpha0 = 0;
pLayerCfg.BlendingFactor1 = LTDC_BLENDING_FACTOR1_CA;
pLayerCfg.BlendingFactor2 = LTDC_BLENDING_FACTOR2_CA;
pLayerCfg.FBStartAdress = 0;
pLayerCfg.ImageWidth = 0;
pLayerCfg.ImageHeight = 0;
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 = 480;
pLayerCfg1.PixelFormat = LTDC_PIXEL_FORMAT_RGB565;
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();
}
/**LTDC GPIO Configuration
PF10 ------> LTDC_DE
PA3 ------> LTDC_B5
PA4 ------> LTDC_VSYNC
PA6 ------> LTDC_G2
PB0 ------> LTDC_R3
PB1 ------> LTDC_R6
PE11 ------> LTDC_G3
PE12 ------> LTDC_B4
PE14 ------> LTDC_CLK
PE15 ------> LTDC_R7
PB10 ------> LTDC_G4
PB11 ------> LTDC_G5
PD10 ------> LTDC_B3
PC6 ------> LTDC_HSYNC
PC7 ------> LTDC_G6
PA11 ------> LTDC_R4
PA12 ------> LTDC_R5
PD3 ------> LTDC_G7
PB8 ------> LTDC_B6
PB9 ------> LTDC_B7
DATA_IN_ExtSDRAM
STM32F429I_DISCOVERY
STM32F429xx
USE_STM32F429I_DISCO
/* Configure horizontal synchronization width */
LtdcHandler.Init.HorizontalSync = 19;
/* Configure vertical synchronization height */
LtdcHandler.Init.VerticalSync = 9;
/* Configure accumulated horizontal back porch */
LtdcHandler.Init.AccumulatedHBP = 65;
/* Configure accumulated vertical back porch */
LtdcHandler.Init.AccumulatedVBP = 32;
/* Configure accumulated active width */
LtdcHandler.Init.AccumulatedActiveW = 865;
/* Configure accumulated active height */
LtdcHandler.Init.AccumulatedActiveH = 512;
/* Configure total width */
LtdcHandler.Init.TotalWidth = 1065;
/* Configure total height */
LtdcHandler.Init.TotalHeigh = 534;
/* Horizontal synchronization width = Hsync - 1 */
LtdcHandle.Init.HorizontalSync = 19;
/* Vertical synchronization height = Vsync - 1 */
LtdcHandle.Init.VerticalSync = 9;
/* Accumulated horizontal back porch = Hsync + HBP - 1 */
LtdcHandle.Init.AccumulatedHBP = 65;
/* Accumulated vertical back porch = Vsync + VBP - 1 */
LtdcHandle.Init.AccumulatedVBP = 32;
/* Accumulated active width = Hsync + HBP + Active Width - 1 */
LtdcHandle.Init.AccumulatedActiveH = 512;
/* Accumulated active height = Vsync + VBP + Active Height - 1 */
LtdcHandle.Init.AccumulatedActiveW = 865;
/* Total height = Vsync + VBP + Active Height + VFP - 1 */
LtdcHandle.Init.TotalHeigh = 534;
/* Total width = Hsync + HBP + Active Width + HFP - 1 */
LtdcHandle.Init.TotalWidth = 1065;
=============================================================
Fron CubeMX
LTDC_HandleTypeDef hltdc;
LTDC_LayerCfgTypeDef pLayerCfg;
LTDC_LayerCfgTypeDef pLayerCfg1;
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 = 19;
hltdc.Init.VerticalSync = 9;
hltdc.Init.AccumulatedHBP = 65;
hltdc.Init.AccumulatedVBP = 32;
hltdc.Init.AccumulatedActiveW = 865;
hltdc.Init.AccumulatedActiveH = 512;
hltdc.Init.TotalWidth = 1065;
hltdc.Init.TotalHeigh = 534;
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 = 800;
pLayerCfg.WindowY0 = 0;
pLayerCfg.WindowY1 = 480;
pLayerCfg.PixelFormat = LTDC_PIXEL_FORMAT_RGB565;
pLayerCfg.Alpha = 0;
pLayerCfg.Alpha0 = 0;
pLayerCfg.BlendingFactor1 = LTDC_BLENDING_FACTOR1_CA;
pLayerCfg.BlendingFactor2 = LTDC_BLENDING_FACTOR2_CA;
pLayerCfg.FBStartAdress = 0;
pLayerCfg.ImageWidth = 0;
pLayerCfg.ImageHeight = 0;
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 = 480;
pLayerCfg1.PixelFormat = LTDC_PIXEL_FORMAT_RGB565;
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();
}
/**LTDC GPIO Configuration
PF10 ------> LTDC_DE
PA3 ------> LTDC_B5
PA4 ------> LTDC_VSYNC
PA6 ------> LTDC_G2
PB0 ------> LTDC_R3
PB1 ------> LTDC_R6
PE11 ------> LTDC_G3
PE12 ------> LTDC_B4
PE14 ------> LTDC_CLK
PE15 ------> LTDC_R7
PB10 ------> LTDC_G4
PB11 ------> LTDC_G5
PD10 ------> LTDC_B3
PC6 ------> LTDC_HSYNC
PC7 ------> LTDC_G6
PA11 ------> LTDC_R4
PA12 ------> LTDC_R5
PD3 ------> LTDC_G7
PB8 ------> LTDC_B6
PB9 ------> LTDC_B7
Комментариев нет:
Отправить комментарий