You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
128 lines
3.4 KiB
128 lines
3.4 KiB
/* USER CODE BEGIN Header */ |
|
/** |
|
****************************************************************************** |
|
* @file ltdc.c |
|
* @brief This file provides code for the configuration |
|
* of the LTDC instances. |
|
****************************************************************************** |
|
* @attention |
|
* |
|
* Copyright (c) 2022 STMicroelectronics. |
|
* All rights reserved. |
|
* |
|
* This software is licensed under terms that can be found in the LICENSE file |
|
* in the root directory of this software component. |
|
* If no LICENSE file comes with this software, it is provided AS-IS. |
|
* |
|
****************************************************************************** |
|
*/ |
|
/* USER CODE END Header */ |
|
/* Includes ------------------------------------------------------------------*/ |
|
#include "ltdc.h" |
|
|
|
/* USER CODE BEGIN 0 */ |
|
|
|
/* USER CODE END 0 */ |
|
|
|
LTDC_HandleTypeDef hltdc; |
|
|
|
/* LTDC init function */ |
|
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 = 1; |
|
hltdc.Init.AccumulatedVBP = 1; |
|
hltdc.Init.AccumulatedActiveW = 201; |
|
hltdc.Init.AccumulatedActiveH = 481; |
|
hltdc.Init.TotalWidth = 202; |
|
hltdc.Init.TotalHeigh = 482; |
|
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 = 200; |
|
pLayerCfg.WindowY0 = 0; |
|
pLayerCfg.WindowY1 = 480; |
|
pLayerCfg.PixelFormat = LTDC_PIXEL_FORMAT_RGB565; |
|
pLayerCfg.Alpha = 255; |
|
pLayerCfg.Alpha0 = 0; |
|
pLayerCfg.BlendingFactor1 = LTDC_BLENDING_FACTOR1_PAxCA; |
|
pLayerCfg.BlendingFactor2 = LTDC_BLENDING_FACTOR2_PAxCA; |
|
pLayerCfg.FBStartAdress = 0xC0000000; |
|
pLayerCfg.ImageWidth = 200; |
|
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(); |
|
} |
|
/* USER CODE BEGIN LTDC_Init 2 */ |
|
|
|
/* USER CODE END LTDC_Init 2 */ |
|
|
|
} |
|
|
|
void HAL_LTDC_MspInit(LTDC_HandleTypeDef* ltdcHandle) |
|
{ |
|
|
|
if(ltdcHandle->Instance==LTDC) |
|
{ |
|
/* USER CODE BEGIN LTDC_MspInit 0 */ |
|
|
|
/* USER CODE END LTDC_MspInit 0 */ |
|
/* LTDC clock enable */ |
|
__HAL_RCC_LTDC_CLK_ENABLE(); |
|
|
|
/* LTDC interrupt Init */ |
|
HAL_NVIC_SetPriority(LTDC_IRQn, 5, 0); |
|
HAL_NVIC_EnableIRQ(LTDC_IRQn); |
|
/* USER CODE BEGIN LTDC_MspInit 1 */ |
|
|
|
/* USER CODE END LTDC_MspInit 1 */ |
|
} |
|
} |
|
|
|
void HAL_LTDC_MspDeInit(LTDC_HandleTypeDef* ltdcHandle) |
|
{ |
|
|
|
if(ltdcHandle->Instance==LTDC) |
|
{ |
|
/* USER CODE BEGIN LTDC_MspDeInit 0 */ |
|
|
|
/* USER CODE END LTDC_MspDeInit 0 */ |
|
/* Peripheral clock disable */ |
|
__HAL_RCC_LTDC_CLK_DISABLE(); |
|
|
|
/* LTDC interrupt Deinit */ |
|
HAL_NVIC_DisableIRQ(LTDC_IRQn); |
|
/* USER CODE BEGIN LTDC_MspDeInit 1 */ |
|
|
|
/* USER CODE END LTDC_MspDeInit 1 */ |
|
} |
|
} |
|
|
|
/* USER CODE BEGIN 1 */ |
|
|
|
/* USER CODE END 1 */
|
|
|