Конфигуратор STM32CubeMX

Настройка входов/выходов, таймеров и прочей периферии на любом микроконтроллере — дело непростое. Чтобы упросить процесс разработки, в STMicroelectronics сделали специальный инструмент для настройки, который называется STM32CubeMX. Этот инструмент встроен в IDE и мы будем им пользоваться для этого и последующих уроков.

Как и у прочих микроконтроллеров, контакты GPIO в STM32 нумеруются по схеме: P[порт][индекс]

Например, PA10 — это контакт с индексом 10 в порту A. Именно к этому контакту мы и подключим светодиод. Воспользуемся простейшей схемой с резистором на 200 Ом, такой же, как в уроке про светодиод на Ардуино.

Настройка контакта GPIO в режим выхода

Настроим в конфигураторе контакт PA10 на выход (в Arduino IDE за это отвечает функция pinMode). Жмём левую кнопку мыши на контакте и открываем выпадающее меню с разными вариантами использования ножки.

Выбираем GPIO_Output.

Контакт подсветится зелёным и получит подпись GPIO_Output. Теперь назначим псевдоним для этого контакта. На этой же вкладке, в правом меню, раскроем пункт System core / GPIO.

Этот раздел меню отвечает за настройку параметров контактов общего назначения — GPIO, которые мы ранее активировали. Можно назначать псевдонимы, прерывания, устанавливать подтяжки к питанию и земле, и прочее. Выберем наш контакт PA10.

В поле User Label напишем свой псевдоним, пусть этот будет слово LED. Псевдоним нужен сугубо для удобства. Теперь нам нет необходимости помнить ни порт, ни номер — будем в программе использовать слово LED.

Настройка контактов программатора

Есть ещё одна настройка, которая поможет нам в дальнейшей работе . Если этого не сделать, то после первой прошивки программатором ST-Link, микроконтроллер перестанет прошиваться. Это, конечно, можно будет исправить, но лучше заранее предохраниться.

Зайдем в раздел SYS и в поле Debug выберем Serial Wire.

Теперь контакты PA13 и PA14 будут зарезервированы за программатором. Более подробно про этот нюанс и про то, как освободить эти ножки для других функций можно будет прочитать в статье про STM32F103.

Следующий шаг — написание кода программы.


Изменено: