https://embetronicx.com/tutorials/microcontrollers/stm32/stm32-gpio-tutorial/
STM32 GPIO Tutorial (LED and Buttons)- Bare Metal Part 2