https://deepbluembedded.com/stm32-hal-library-tutorial-examples/
STM32 HAL Library Tutorial