stm32 ltdc会从显存中不停搬运数据, 然后进行叠加后输出到LCD
背景层只支持单色显示, 所以就适合来检查时序是否是正确的
代码如下, 我设置了蓝色, 没设置图层, 也就是说没设置显存等, 结果会显示蓝色
LTDC_HandleTypeDef hltdc;
void MX_LTDC_Init(void)
{ 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 = 20-1;
hltdc.Init.VerticalSync = 2;
hltdc.Init.AccumulatedHBP = 20-1+140;
hltdc.Init.AccumulatedVBP = 22;
hltdc.Init.AccumulatedActiveW = 20-1+140+PIXELS_W;
hltdc.Init.AccumulatedActiveH = 622;
hltdc.Init.TotalWidth = 20-1+140+PIXELS_W+160;
hltdc.Init.TotalHeigh = 634;
hltdc.Init.Backcolor.Blue = 255;
hltdc.Init.Backcolor.Green = 0;
hltdc.Init.Backcolor.Red = 0;
if (HAL_LTDC_Init(&hltdc) != HAL_OK)
{
Error_Handler();
}
}