My STM32F429 project works fine before I added the LTDC module generated by CubeMx. After I added LTDC, the FMC interface began to lost data occasionally which was good before. I thought it may be caused by HSE instability. In order to test the HSE clock, I measured the MCO signal which shows the greate difference after LTDC is added.
I comment HAL_LTDC_MspInit() line by line and find the cause of HSE instability is LTDC_DE signal initialization. When I comment following code off(PF10: LTDC_DE), the MCO clock show correct.
GPIO_InitStruct.Pin = GPIO_PIN_10; 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(GPIOF, &GPIO_InitStruct);
However, I still cannot understand why this signal makes HSE failure and how can I fix this issue because LTDC is needed in my design?
Edit1: Add zoomed-in waveform before and after LTDC added.