2021-02-03 10:15 PM
Thank you for helping.
environment:
STM32CubeIDE Ver1.5.0
TouchGFX Ver4.15.0
Board: Custom
MCU: STM32F769BI
Outputs RGB parallel signals from the MCU.
I want to output a 65MHz LCD_CLK, but the LCD_CLK signal is not output.
Why?
The transmitter is 25MHz and SystemClock_Config () looks like this:
void SystemClock_Config (void)
{
RCC_OscInitTypeDef RCC_OscInitStruct = {0};
RCC_ClkInitTypeDef RCC_ClkInitStruct = {0};
RCC_PeriphCLKInitTypeDef PeriphClkInitStruct = {0};
/ ** Configure the main internal regulator output voltage
* /
__HAL_RCC_PWR_CLK_ENABLE ();
__HAL_PWR_VOLTAGESCALING_CONFIG (PWR_REGULATOR_VOLTAGE_SCALE3);
/ ** Initializes the RCC Oscillators according to the specified parameters
* in the RCC_OscInitTypeDef structure.
* /
RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSE | RCC_OSCILLATORTYPE_LSE;
RCC_OscInitStruct.HSEState = RCC_HSE_BYPASS;
RCC_OscInitStruct.LSEState = RCC_LSE_BYPASS;
RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON;
RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSE;
RCC_OscInitStruct.PLL.PLLM = 15;
RCC_OscInitStruct.PLL.PLLN = 116;
RCC_OscInitStruct.PLL.PLLP = RCC_PLLP_DIV2;
RCC_OscInitStruct.PLL.PLLQ = 2;
if (HAL_RCC_OscConfig (& RCC_OscInitStruct)! = HAL_OK)
{
Error_Handler ();
}
/ ** Activate the Over-Drive mode
* /
if (HAL_PWREx_EnableOverDrive ()! = HAL_OK)
{
Error_Handler ();
}
/ ** Initializes the CPU, AHB and APB buses clocks
* /
RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK | RCC_CLOCKTYPE_SYSCLK
| RCC_CLOCKTYPE_PCLK1 | RCC_CLOCKTYPE_PCLK2;
RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK;
RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1;
RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV2;
RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV2;
if (HAL_RCC_ClockConfig (& RCC_ClkInitStruct, FLASH_LATENCY_3)! = HAL_OK)
{
Error_Handler ();
}
PeriphClkInitStruct.PeriphClockSelection = RCC_PERIPHCLK_LTDC | RCC_PERIPHCLK_RTC
| RCC_PERIPHCLK_I2C4;
PeriphClkInitStruct.PLLSAI.PLLSAIN = 156;
PeriphClkInitStruct.PLLSAI.PLLSAIR = 2;
PeriphClkInitStruct.PLLSAI.PLLSAIQ = 2;
PeriphClkInitStruct.PLLSAI.PLLSAIP = RCC_PLLSAIP_DIV2;
PeriphClkInitStruct.PLLSAIDivQ = 1;
PeriphClkInitStruct.PLLSAIDivR = RCC_PLLSAIDIVR_2;
PeriphClkInitStruct.RTCClockSelection = RCC_RTCCLKSOURCE_LSE;
PeriphClkInitStruct.I2c4ClockSelection = RCC_I2C4CLKSOURCE_PCLK1;
if (HAL_RCCEx_PeriphCLKConfig (& PeriphClkInitStruct)! = HAL_OK)
{
Error_Handler ();
}
}
GPIO is also set as follows with HAL_LTDC_MspInit ().
LCD_CLK is PI14.
__HAL_RCC_GPIOI_CLK_ENABLE ();
GPIO_InitStruct.Pin = GPIO_PIN_15 | GPIO_PIN_14;
GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
GPIO_InitStruct.Pull = GPIO_NOPULL;
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
GPIO_InitStruct.Alternate = GPIO_AF14_LTDC;
HAL_GPIO_Init (GPIOI, & GPIO_InitStruct);
Thank you.
Solved! Go to Solution.
2021-02-04 05:21 AM
Hi,
I would advise to edit the Topic tags of your post and add the relevant ones in order to increase the visibility of your question. This is not a TouchGFX related question.
/Romain
2021-02-04 05:21 AM
Hi,
I would advise to edit the Topic tags of your post and add the relevant ones in order to increase the visibility of your question. This is not a TouchGFX related question.
/Romain
2021-02-04 03:18 PM
Hi Romain Dieleman
OK.
I will ask a question on the MCU side.
Thank you very much.
2021-02-04 06:33 PM
Perhaps better to find an employee who does have responsibility...
https://community.st.com/s/question/0D53W00000XjfOESAZ/lcdclk-that-runs-xga-1024-x-768