@Roman_Popov
лужу, паяю, линуксом управляю

Повторная инициализация GPIO?

Недавно начал ковырять STM32, поэтому вопрос скорее всего глупый.
Мне надо использовать выводы UART сначала, как обычные GPIO (вход и выход), а потом в середине кода как UART.
Как правильно сделать? Сначала провести инициализацию выводов как GPIO, а потом внутри кода повторно инициализировать как UART? Или если инициализирован UART, то можно как-то просто обратиться к выводам напрямую, как к обычным GPIO?
  • Вопрос задан
  • 61 просмотр
Решения вопроса 2
@pfg21
ex-турист
инициализация это расстановка правильных байтиков по правильным адресам :)
ты можешь делать когда угодно и сколько угодно.
а уже значения отдельных битов управляют соответствующими параметрами аппаратных модулей.
на каждом выводе порта имеется коммутатор, который "подключает" вывод к соответствующим выводам других модулей контроллера.
вывод, "отключенный" от уарта, никак от его работы зависеть не будет. он будет выполнять ту работу которая описана в байтиках управления GPIO
Ответ написан
@evgeniy_lm
Просто инициализировать UART. Внутри МК выходы GPIO и UART к физическому выводу подключаются специальным "переключателем" состояние которых определяется битами служебных регистров. Установил бит у тебя UART, снял - GPIO (или наоборот)
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы