Witam,
był kiedyś wątek na temat tego czy warto uczyć się programowania rodziny ARM-ów (np. STM32) na poziomie CMSIS czy też używająć SPL/HAL dla większej wygody. Do tego dochodzi jeszcze kwestia tego czy wykorzystać wygodne C++ dla komfortu i czytelności czy też trzymać się C. Jest wiele stereotypów z tym związanych, np. taki, że C++ generuje narzut i między innymi z tego powodu nie nadaje się do mikrokontrolerów.
Ja się generalnie z tym nie zgadzam, ARM-y to nie ATTINY :-) i można a nawet jest wskazane korzystać z języków i środków o większym wyrazie niż gołe C. Dla poparcia tego podaję dwa linki, które bardzo polecam:
- Compiler Explorer, można podać jeden z wielu kompilatorów, jest też arm, i na żywo pokazuje jak dany kod jest kompilowany do ASM-a. Polecam na początek wykorzystanie const int zamiast #define z opcją kompilatora -O albo -Os i stwierdzenie jak działa optymalizacja kodu :-)
https://godbolt.org
- Film gdzie gość pisze program w C++, wykorzystując wiele zaawansowanych elementów tego języka, i potem rekompiluje go na 6502, 8-bitowy procesor jaki był w starym Commodore C-64. To co pisze to prosta gierka, którą potem uruchamia na prawdziwym C-64, wszystko na żywo. Kod wynikowy nie ma żadnego narzutu !
https://youtu.be/zBkNBP00wJE
warto obejrzeć do końca :-)