( apal | 2020. 11. 11., sze – 09:13 )

ez a nem mindegy hogy hány bájtot akarok levenni roppant zavaros

Na, igen, az stm32f is akkor orokolte ezt a csodat ;) De igen, az egy altalanos tapasztalat hogy mig az UART, SPI, CAN interface-eket meglepoen egyesegesen es hasonloan kezeli le minden gyarto minden periferiaja es a kapcsolodo regiszterkeszlete, addig az I2C az mindenhol mas es mindenhol agyfaszos. Pedig azert _annyira_ nem kene ordongossegnek lenne. Meg a slave oldalon sem, foleg ha hardveresen a clock stretching is ott van mint lehetoseg. 

Arról a virtuális soros portról tudsz valami leírást? - "Useer manual" -ban szó nincs róla.

Nezd meg (pl) a UM1724-et. Irja is hogy van es a kapcs rajzbol (de gondolom a doksibol is) kiderul hogy a PA2 ill PA3-ba koti be. Ami pl az STM32F072-esen az USART2, alternate function: 1. Teljesen szuperul megy.

Ha már itt tartunk milyen IDE -t használsz az STM -hez?

Semmilyet, teljesen bare metal modon megy a programozas. Azaz sima debian alatti gcc-arm-none-eabi, binutils-arm-none-eabi, libnewlib-arm-none-eabi, libstdc++-arm-none-eabi-newlib csomagok, az STM altal adott hivatalos periferia-headerek (stm32f0xx.h), CMSIS headerek (core_cm0.h), es az adott mikrokontrollerhez illesztett linker script. Ezutobbi az egyetlen "specifikus" dolog, de ha sima programot akarsz beletolteni akkor csak ket szamot kell beleirnod (flash ill. RAM meret), a gyari peldak is olyanok hogy ezt a ket sort megadod, majd a tobbi *.ld-t include-olja. Ettol fuggetlenul hasznos ha ismerjuk ezutobbit is mert itt mar kezzel kell felosztanod a flash-t ha pl bootloader-t is akarsz magadnak, vagy ha a flash bizonyos teruleteit konfiguracios memorianak is hasznalod.