STM32 gotchas
188. ... and then there's also no clock enable at all...

Peripherals in STM32 have a clock enable bit, which has to be set before given peripherals can be used in the program. This is so important that it's gotcha number 1.

However, this does not pertain to some of the peripherals, which have clock unconditionally enabled all the time: