2024-10-10 7:11 AM - last edited on 2024-10-10 8:15 AM by mƎALLEm
Hi, I am trying to program a STM32L552ZEQ to use HSE instead of the default clock, but I am doing something wrong.
I attach the reference manual, as well as the user manual for my specific board. In the user manual, on page 24, it is stated that there is a HSE with 16 MHz clock frequency. I try to enable this by setting the HSEBYP and HSEON bits in `RCC->CR`, like so
```
```
Using GDB I observe the change to the register value happening as expected. After setting it, I am waiting for the hardware to set the HSERDY bit, indicating that everything went OK. But this bit is never set. I never seem to get out of this while-loop. I observe the bit not being set using e.g. GDB.
I looked at the reference manual and saw that MCO is fed to OSC_IN, which seems correct.
I then thought that it appears as if the MCO can be connected to several different sources, one of which being the HSE. I look at the reference manual, and find this
I modify my code to configure MCOSEL to have the value `0100`, to indicate that we should output the HSE to the MCO pin. I am using the CMSIS header files to access the correct addresses, and it seems as if the define for MCOSEL_2 carries the right value (4).
```
// the define is in the CMSIS header-file, but I paste it here for clarity
Solved! Go to Solution.
2024-10-17 7:24 AM
I will have to return to this thread when I've gotten my hands on those components. Thanks for your help so far!
2024-10-17 7:40 AM - edited 2024-10-17 7:41 AM
Hello @krook ,
Just to remind you that even with STLINK-V3 (the version on STM32L552ZEQ Nucleo board), the MCO is configurable and the default config is generated from HSI (HSI/2 = 8MHz) not the HSE crystal of the STLINK.
So if you are looking for an accurate clock source, you need to configure your STLINK. Please read this article.
We’re moving the ST Community to a new platform to give you a better and more reliable community experience.