stm32Fxx的单片机,使用 LTDC 功能时,第二层不能够显示?
具体如下:
第一次设置
BSP_LCD_SelectLayer(0);
BSP_LCD_LayerDefaultInit(0, LCD_FRAME_BUFFER_LAYER0);
BSP_LCD_SetLayerVisible(0, ENABLE);
BSP_LCD_DisplayOn();
BSP_LCD_Clear(LCD_COLOR_BLACK);
__LCD_Drv->LCD_Clear(LCD_COLOR_GREEN);
HAL_Delay(2000);
__LCD_Drv->LCD_Clear(LCD_COLOR_MAGENTA);
HAL_Delay(2000);
__LCD_Drv->LCD_Clear(LCD_COLOR_WHITE);
HAL_Delay(2000);
__LCD_Drv->LCD_SetBackColor(LCD_COLOR_GREEN);
__LCD_Drv->LCD_SetTextColor(LCD_COLOR_BLACK);
__LCD_Drv->LCD_DisplayStringAt(0, 610, (uint8_t *)"LTDC Display Begin ... ...", CENTER_MODE);
__LCD_Drv->LCD_SetFont(&Font16);
__LCD_Drv->LCD_DisplayStringAt(0, 670, (uint8_t *)"Touchscreen cannot be initialized", CENTER_MODE);
__LCD_Drv->LCD_SetFont(&Font24);
__LCD_Drv->LCD_DisplayStringAt(0, 730, (uint8_t *)"RGB TO LVDS Pixel 800 * 1280", CENTER_MODE);
上面的第一次显示是正常的,
、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、
第二次设置如下:
BSP_LCD_SelectLayer(1);
BSP_LCD_LayerDefaultInit(1, LCD_FRAME_BUFFER_LAYER1);
BSP_LCD_SetColorKeying(1, LCD_COLOR_WHITE);
BSP_LCD_SetLayerVisible(1, ENABLE);
BSP_LCD_DisplayOn();
__LCD_Drv->LCD_Clear(LCD_COLOR_BLACK); // 清贫也没有反应
__LCD_Drv->LCD_SetBackColor(LCD_COLOR_GREEN);
__LCD_Drv->LCD_SetTextColor(LCD_COLOR_BLUE);
__LCD_Drv->LCD_SetFont(&Font24);
__LCD_Drv->LCD_DisplayStringAt(0, 780, (uint8_t *)"RGB TO LVDS Layer2 Pixel 800 * 1280", CENTER_MODE); // 显示也没有任何 动静 ???
/**
* @brief Initializes the LCD layers.
* @param LayerIndex: Layer foreground or background
* @param FB_Address: Layer frame buffer
* @retval None
*/
void BSP_LCD_LayerDefaultInit(uint16_t LayerIndex, uint32_t FB_Address)
{
LCD_LayerCfgTypeDef Layercfg;
/* Layer Init */
Layercfg.WindowX0 = 0;
Layercfg.WindowX1 = BSP_LCD_GetXSize();
Layercfg.WindowY0 = 0;
Layercfg.WindowY1 = BSP_LCD_GetYSize();
Layercfg.PixelFormat = LTDC_PIXEL_FORMAT_ARGB8888;
Layercfg.FBStartAdress = FB_Address;
Layercfg.Alpha = 255;
Layercfg.Alpha0 = 0;
Layercfg.Backcolor.Blue = 0;
Layercfg.Backcolor.Green = 0;
Layercfg.Backcolor.Red = 0;
Layercfg.BlendingFactor1 = LTDC_BLENDING_FACTOR1_PAxCA; //LTDC_BLENDING_FACTOR1_PAxCA; //LTDC_BLENDING_FACTOR1_PAxCA;
Layercfg.BlendingFactor2 = LTDC_BLENDING_FACTOR1_PAxCA; //LTDC_BLENDING_FACTOR2_PAxCA;
Layercfg.ImageWidth = BSP_LCD_GetXSize();
Layercfg.ImageHeight = BSP_LCD_GetYSize();
HAL_LTDC_ConfigLayer(&hltdc_eval, &Layercfg, LayerIndex);
DrawProp[LayerIndex].BackColor = LCD_COLOR_WHITE;
DrawProp[LayerIndex].pFont = &Font24;
DrawProp[LayerIndex].TextColor = LCD_COLOR_BLACK;
}
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
好的,另外请问一下,你们的历程能否支持透明显示功能啊 ??
支持
一周热门 更多>