I am trying to improve on my embedded programming skills by learning how to program each peripheral on an STM32 Nucleo board (STM32F401RE) and slowly building my own library from scratch (Without using HAL initially just toggling bits directly on the registers).
I am facing a problem though, when I try to encounter something that I haven't used before I am getting stuck on figuring what to include on the API.
Let's say that I want to use the ADC peripheral, is it enough to just copy the API from the mbed-src on github and start from there, or am I going to need any extra functions?
Are there any universally accepted resources from where to start from?
Thanks for your help.