У меня смешанные. -> Но что умеют и не левой пяткой - по
исходникам видно. Что касается FreeRTOS - не могу сказать,
некомпетентен. https://caxapa.ru/1237350.html
NonOS BSP: GPIO сделали с флагом использования, с "open() / close()". Из их примера:
/* Configure Port C to input mode and pull-up */
GPIO_Open(GPIOC, DIR_INPUT, PULL_UP);
/* Set Port C output data to 0xFFF */
GPIO_Set(GPIOC, 0xFFF);
/* Set Port C output data to 0x000 */
GPIO_Clr(GPIOC, 0xFFF);
/* Configure Port C to default value */
GPIO_Close(GPIOC);
Это понятно и логично для программистов под "взрослыми" ОС, но случаи применения, для которого писался слой "NonOS" - не вполне соответствует моему пониманию. Хотя, сейчас один хрен периферийные узлы функционал обеспечивают...