cancel
Showing results for 
Search instead for 
Did you mean: 

LCD_CLK is not output from the microcomputer

Mna.1
Associate II

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. 

1 ACCEPTED SOLUTION

Accepted Solutions
Romain DIELEMAN
ST Employee

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

View solution in original post

3 REPLIES 3
Romain DIELEMAN
ST Employee

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

Hi Romain Dieleman

OK.

I will ask a question on the MCU side.

Thank you very much.

Perhaps better to find an employee who does have responsibility...

https://community.st.com/s/question/0D53W00000XjfOESAZ/lcdclk-that-runs-xga-1024-x-768

Tips, Buy me a coffee, or three.. PayPal Venmo
Up vote any posts that you find helpful, it shows what's working..