u/ProfessionalDig8060in r/embedded • Recommends
On “Where do I start???”
Since you have experience with Arduino, I recommend you watch this video by Mitch Davis to draw parallels between ST's HAL and the Arduino language. You'll be pleasantly surprised by how you've already been using abstraction layers to program microcontrollers without your knowledge.
From here you have many options:
1. Program the registers directly: Grab the Reference Manual and find out which registers you need to program (eg MODER, ODR, IDR for GPIO, ARR, PSC, CNT, CCR for Timers and so on.) I suggest this book by Dr. Yifeng Zhu. I directly started with the lesson on GPIO and skipped the 1st few lessons on the book on Assembly language. Revise pointers and bitwise operations in C.
2.…