STM32F469I-DISCO LCD - 我的应用程序无法打开

问题描述 投票:0回答:1

我开始为STM32F469I-DISCO开发图形应用程序,但我无法打开LCD。

我正在使用STM32CubeIDE,从以下步骤开始:

  1. 新项目
  2. 板选择器
  3. 现在我已经修改了代码,如图所示

LED 开关,但 LCD 一直黑,没有任何光。

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

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

    osKernelStart();

    while (1)
    {
    }
}

以及之后

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);
    }
}
stm32 lcd stm32f4discovery stm32f4 stm32cubeide
1个回答
-5
投票

我已经使用 STM32F4xx_HAL_Driver 的不同文件并将频率设置为 360 解决了这个问题。

请我准备好完整的项目示例。

© www.soinside.com 2019 - 2024. All rights reserved.