I am using an STM32F446ZE Nucleo Board which does NOT have an external HSE clock. From CubeMX I set the clock input from the HSE and after in the clock configuration I set the system clock to 180MHz.
and in the clock configuration I set the PLL like this
The code generated by CubeMX seems to be correct also.
My point is that even if I don't have an HSE in the board the uController works in 180MHz. How is this possible? What is the clock input after all?
Best Answer
On the Nucleo board you can drive the HSE from the STLINK clock (just choose the bypass option in your cubemx.
It is possible in some circumstances that the HSE can be driven by the bypass clock even if the pin is not configured properly.
To check it step through the clock startup routine (using the debugger) and see if the HSE clock has started properly. Then you will not have to guess.