Форум программистов, компьютерный форум, киберфорум
kylroma
Войти
Регистрация
Восстановить пароль

Stm32 Stm32CubeIDE простой проект (поморгать светодиодом)

Запись от kylroma размещена 01.08.2020 в 11:26
Показов 14635 Комментарии 3

Поморгать светодиодом.
Моя плата: STM32F103C8T6
Открыть Stm32CubeIDE. File -> New -> STM32Project

Выбрать свой девайс, в моём случае это STM32F103C8
Нажмите на изображение для увеличения
Название: 1.jpg
Просмотров: 948
Размер:	265.3 Кб
ID:	6388


Нажать Next, в следующем окне ввести имя проекта (я назвал test) и нажать Finish.

Светодиод расположен в PC13. Поэтому в окне Pinout & Configuraton тыкныть в порт PC13 и выбрать GPIO_Output. Порт станет зелёным.
Нажмите на изображение для увеличения
Название: 2.jpg
Просмотров: 913
Размер:	72.9 Кб
ID:	6389
Сохранить (ctrl + s). Будет предложено сгенерировать код - согласиться.

Откроется редактор кода с файлом main.c. Если не откроется, то слева в проекте перейти в Core -> Src -> main.c
Найти while(1) и вставить код как ниже:
C++
1
2
3
4
5
  while (1)
  {
      HAL_Delay(1000);
      HAL_GPIO_TogglePin(GPIOC, GPIO_PIN_13);
  }
Кликните здесь для просмотра всего текста

HAL_Delay(1000); - пауза 1 сек.
void HAL_GPIO_TogglePin (GPIO_TypeDef * GPIOx, uint16_t GPIO_Pin)

Инвертирует состояние вывода.

GPIOx – выбор порта (GPIOA, GPIOB, GPIOC … ).
Pin – номер вывода (GPIO_PIN_0 … GPIO_PIN_15).
Возвращаемого параметра нет.

Пример.
HAL_GPIO_TogglePin(GPIOC, GPIO_PIN_13); // инверсия вывода PC13
HAL_GPIO_TogglePin(GPIOB, GPIO_PIN_3 | GPIO_PIN_5 | GPIO_PIN_10); // инверсия выводов PB3, PB5 и PB10

Сбрать проект: Project -> Build All
Должен собраться бинарь имя_проекта.bin (у меня test.bin)
Для заливки на плату я использую приложение STM32 ST_LINK Utility v. 4.5.0

Подключить плату к юсб. Запустить STM32 ST_LINK Utility
Перейти Target -> Program...
Откроется окно Download
Выбрать нужный бинарь и нажать Start.
Нажмите на изображение для увеличения
Название: 3.JPG
Просмотров: 985
Размер:	103.3 Кб
ID:	6390
Если при Target -> Program... возникает Error (Can not connect to target), то надо на плате зажать кнопку reset, перейти Target -> Program... (окно не откроется), отпустить кнопку reset, должно открыться окно Download.

Внимание!!! Если нужно ещё раз залить тот же бинарь (например изменили таймер и пересобрали), то несмотря на то, что путь уже прописан в File path в окне Download нужно ещё раз нажать Browse и выбрать этот же бинарь. Иначе будет залит первый вариант бинаря.
Размещено в Без категории
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Всего комментариев 3
Комментарии
  1. Старый комментарий
    4.6 КБ это много для такого проекта. Про оптимизацию забыли?
    Размер бинарника должен быть примерно 1.4 КБ. https://www.cyberforum.ru/atta... 1595773296
    В CubeIDE нет средств прошивки что используете ST-LINK Utility?
    Запись от locm размещена 01.08.2020 в 12:26 locm вне форума
  2. Старый комментарий
    Аватар для kylroma
    Цитата Сообщение от locm
    4.6 КБ это много для такого проекта. Про оптимизацию забыли?
    Размер бинарника должен быть примерно 1.4 КБ. https://www.cyberforum.ru/atta... 1595773296
    В CubeIDE нет средств прошивки что используете ST-LINK Utility?
    Это попытка сделать типа "Hello world" с платой. При минимуме шагов собрать и залить бинарь на плату. Я только начал разбираться с stm32 и CubeIDE, и проблема была в том, что в рунете и на зарубежных сайтах не нашёл самого простого проекта. Грузят новичков лишней информацией, лишними настройками, которые по началу не нужны. Когда много информации, трудно понять, что действительно надо знать, а что лишнее.
    Загружать с помощью CubeIDE не пробовал.
    Запись от kylroma размещена 01.08.2020 в 16:44 kylroma вне форума
  3. Старый комментарий
    Моя плата: STM32F103C8T6
    Нет такой платы. Это модель микроконтроллера.

    Подключить плату к юсб. Запустить STM32 ST_LINK Utility
    На плате (какой?) есть встроенный отладчик? Иначе подключив плату к USB прошить не получится с помощью ST-LINK Utility.
    Запись от locm размещена 01.08.2020 в 17:02 locm вне форума
 
Новые блоги и статьи
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка: Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
Оттачиваю умение писать js программы.
russiannick 30.08.2026
Проектом выходного дня стало написание Книги шифров Виженера. Итогом стала версия 200, синий туман. Синий туман назван так, потому что замораживает текст под собой. Нажатие синих кнопок управляют. . .
мат медиц модель 30. презентация проекта
anaschu 27.08.2026
хоп хоп хоп хидахоп, а я кладую))
Как у меня протекала болезнь
zorxor 27.08.2026
Здравствуйте, друзья! Эта запись блога предназначена именно для вас - для моих дорогих друзей, которые знали меня лично. Чтобы ответить на вопрос - а что же со мной произошло на самом деле? Я учился. . .
Нашел вот забавное видео о измерениях. Лучшее что я видел на эту тему
kumehtar 26.08.2026
ILETXiw9bMQ Основная суть и тезисы по измерениям: 0D (Нулевое измерение): точка, не имеющая длины, ширины, высоты или объема. Объект не может перемещаться в 0D. 1D (Первое измерение):. . .
[EasyBuilder Pro] Памятка по разработке для панелей Weintek
ФедосеевПавел 26.08.2026
Памятка по разработке для панелей Weintek ВВЕДЕНИЕ Ранее, при реализации проектов основное внимание уделял разработке управляющей программы для контроллера, а панели оператора доставалось время. . .
Модель по догадкам
anaschu 25.08.2026
Прошло две недели. Я уже рассказывал, как разговаривал с сотрудниками у сортировки и как понял, что главная ветка — не про приёмку, а про отбор. Но тогда я думал, что понял механику. На этой неделе я. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru