STM32F469I-DISCO LCD - my application does not switch on

130 views Asked by At

I am starting to develop a graphic application for the STM32F469I-DISCO, but I am not able to switch on the LCD.

I am using STM32CubeIDE, starting with these steps:

  1. New project
  2. Board Selector
  3. Now I have modified the code as shown

The LED switches on and off, but the LCD is always black without any light.

int main(void)
{
    HAL_Init();
    SystemClock_Config();
    PeriphCommonClock_Config();

    osThreadDef(defaultTask, StartDefaultTask, osPriorityNormal, 0, 4096);
    defaultTaskHandle = osThreadCreate(osThread(defaultTask), NULL);

    osKernelStart();

    while (1)
    {
    }
}

and after

void StartDefaultTask(void const * argument)
{
    GPIO_InitTypeDef GPIO_InitStruct = {0};

    MX_USB_HOST_Init();

    __HAL_RCC_GPIOK_CLK_ENABLE();

    ......

    __HAL_RCC_GPIOD_CLK_ENABLE();

    .........

    __HAL_RCC_GPIOA_CLK_ENABLE();

    GPIO_InitStruct.Pin = LCD_BL_CTRL_Pin;
    GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_OD;
    GPIO_InitStruct.Pull = GPIO_NOPULL;
    GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
    HAL_GPIO_Init(LCD_BL_CTRL_GPIO_Port, &GPIO_InitStruct);


    BSP_LCD_Init();
    BSP_LCD_InitEx(LCD_ORIENTATION_LANDSCAPE);
    BSP_LCD_LayerDefaultInit(LTDC_ACTIVE_LAYER_BACKGROUND, LCD_FB_START_ADDRESS);
    BSP_LCD_Clear(LCD_COLOR_BLACK);

    for(;;)
    {
        HAL_GPIO_WritePin(LED4_GPIO_Port,        LED4_Pin,        GPIO_PIN_RESET);
        HAL_GPIO_WritePin(LED3_GPIO_Port,        LED3_Pin,        GPIO_PIN_RESET);
        HAL_GPIO_WritePin(LCD_BL_CTRL_GPIO_Port, LCD_BL_CTRL_Pin, GPIO_PIN_RESET);

        delayMs(1000);

        HAL_GPIO_WritePin(LED4_GPIO_Port,        LED4_Pin,        GPIO_PIN_SET);
        HAL_GPIO_WritePin(LED3_GPIO_Port,        LED3_Pin,        GPIO_PIN_SET);
        HAL_GPIO_WritePin(LCD_BL_CTRL_GPIO_Port, LCD_BL_CTRL_Pin, GPIO_PIN_SET);

        delayMs(1000);

        osDelay(1);
    }
}
0

There are 0 answers