Генератор кода (проектов) STM32CubeMX скачать, как пользоваться

Штука, которая многократно упрощает создание кода для STM32, что позволяет, очень быстро достичь нужной работы, особо не вникая в тонкости работы микроконтроллера, а с с библиотекой HAL еще и с легкостью переносить код между разными контроллерами.

Кроме этого с помощью STM32CubeMX просто удобно смотреть и устанавливать выводы микроконтроллера прямо на этапе создания платы, что минимизирует ошибки. Скачать можно на оф. сайте, а также ознакомится с резервной копией в посте ТГ-канала.

Создание проекта

Создаём новый проект: File -> New Project (Ctrl + N)

Выбираем микроконтроллер, у меня это "черная пилюля(Black Pill STM32F411).

Включаем отладчик (чтобы была возможность подключения такого программатора-отладчика STLINK): SYS -> Debug: Serial Wire

Настройка вывода PC13 на выход, установка названия LED, на отладочной плате к нему подключен светодиодик катодом к выводу и анодом к плюсу питания.

Также врубаем универсальный асинхронный приемопередатчик (UART) На скорости 9600 бод/c:

Систему тактирования не трогаем, пусть работает от внутреннего источника тактирования на 16 МГц:

Во вкладке Project Manager пишем названия (кстати, никогда не допускайте кириллических символов в папках, иногда из-за этого могут быть ненужные неприятности в разном ПО), выбираем среду разработки, у меня это Keil (<- подробнее ознакомится в статье).

После нажимаем кнопку GENERATE CODE для создания кода и открываем проект:

В общем-то на этом как-бы всё, проект готов

Открытие проекта

Если у вас есть Keil, то можно продолжить, здесь каждые 500 мс передается сообщение Hola (с переносом) и происходит переключение состояния светодиода:

Почему отнимается единица от вычисленного размера массива?

Потому что при таком написании в конце добавляется NULL-символ (0x00), который обозначает окончание строки, он конечно учитывается как байт, но его передавать не нужно.

Для компиляции жмем: Project-> Build Target

Ошибок нет, можно сразу загрузить код в МК нажатием Flash -> Download (после этого нажать кнопку сброса на плате):

Или зайти в режим отладки (Debug -> Start/Stop Debug Session), а потом запустить программу (Debug -> Run):

В железе

Ну и конечно это все работает на настоящем микроконтроллере:

Миганием светодиода видно и так, а чтобы увидеть передачу данных можно можно подключать логический анализатор на 8 каналовандроид-осциллограф HS101, просто переходник USB-UART или блютуз модуль, я выбрал последнее из-за удобства:

1055
RSS
Нет комментариев. Ваш будет первым!
Загрузка...