Помогите настроить периферийный модуль LTDC в stm32f429 для дисплея MI0430HT (даташит в приложении).
Дисплей 480 * 272 точки.
Плата от Стартеркита :
http://starterkit.ru/html/index.php?name=s...view&id=128Настройки взял из примера на плату, но в оригинальном примере работает а под HAL нет. Прошу помощи.
CODE
LtdcHandler.Init.HorizontalSync = 40;
LtdcHandler.Init.VerticalSync = 9;
LtdcHandler.Init.AccumulatedHBP = 42;
LtdcHandler.Init.AccumulatedVBP = 11;
LtdcHandler.Init.AccumulatedActiveW = 52;
LtdcHandler.Init.AccumulatedActiveH = 283;
LtdcHandler.Init.TotalWidth = 525;
LtdcHandler.Init.TotalHeigh = 288;
LtdcHandler.Init.Backcolor.Red= 0;
LtdcHandler.Init.Backcolor.Blue= 0;
LtdcHandler.Init.Backcolor.Green= 0;
/* PLLSAI_VCO Input = HSE_VALUE/PLL_M = 25/15 =1,667 Mhz */
/* PLLSAI_VCO Output = PLLSAI_VCO Input * PLLSAIN = 180 Mhz */
/* PLLLCDCLK = PLLSAI_VCO Output/PLLSAIR = 180/5 = 36 Mhz */
/* LTDC clock frequency = PLLLCDCLK / LTDC_PLLSAI_DIVR_8 = 36/4 = 9 Mhz */
PeriphClkInitStruct.PeriphClockSelection = RCC_PERIPHCLK_LTDC;
PeriphClkInitStruct.PLLSAI.PLLSAIN = 108;
PeriphClkInitStruct.PLLSAI.PLLSAIR = 5;
PeriphClkInitStruct.PLLSAIDivR = RCC_PLLSAIDIVR_4;
HAL_RCCEx_PeriphCLKConfig(&PeriphClkInitStruct);
LtdcHandler.Init.HSPolarity = LTDC_HSPOLARITY_AL;
LtdcHandler.Init.VSPolarity = LTDC_VSPOLARITY_AL;
LtdcHandler.Init.DEPolarity = LTDC_DEPOLARITY_AL;
LtdcHandler.Init.PCPolarity = LTDC_PCPOLARITY_IPC;
HAL_LTDC_Init(&LtdcHandler);
Layercfg.WindowX0 = 43;
Layercfg.WindowX1 = (480 + 43 - 1);
Layercfg.WindowY0 = 12;
Layercfg.WindowY1 = (272 + 12 - 1);
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;
Layercfg.BlendingFactor2 = LTDC_BLENDING_FACTOR2_PAxCA;
Layercfg.ImageWidth = ((480 * 4) + 3);//524;//480;
Layercfg.ImageHeight = 272;
HAL_LTDC_ConfigLayer(&LtdcHandler, &Layercfg, LayerIndex);
DrawProp[LayerIndex].BackColor = LCD_COLOR_WHITE;
DrawProp[LayerIndex].pFont = &Font24;
DrawProp[LayerIndex].TextColor = LCD_COLOR_BLACK;
HAL_LTDC_EnableDither(&LtdcHandler);
Сообщение отредактировал IgorKossak - Jan 7 2017, 20:36
Причина редактирования: [codebox] для длинного кода, [code] - для короткого!