Недавно начал ковырять STM32, поэтому вопрос скорее всего глупый.
Мне надо использовать выводы UART сначала, как обычные GPIO (вход и выход), а потом в середине кода как UART.
Как правильно сделать? Сначала провести инициализацию выводов как GPIO, а потом внутри кода повторно инициализировать как UART? Или если инициализирован UART, то можно как-то просто обратиться к выводам напрямую, как к обычным GPIO?
Просто инициализировать UART. Внутри МК выходы GPIO и UART к физическому выводу подключаются специальным "переключателем" состояние которых определяется битами служебных регистров. Установил бит у тебя UART, снял - GPIO (или наоборот)