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

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

Запись от kylroma размещена 01.08.2020 в 11:26
Обновил(-а) kylroma 01.08.2020 в 11:29

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

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


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

Светодиод расположен в PC13. Поэтому в окне Pinout & Configuraton тыкныть в порт PC13 и выбрать GPIO_Output. Порт станет зелёным.
Нажмите на изображение для увеличения
Название: 2.jpg
Просмотров: 105
Размер:	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
Просмотров: 216
Размер:	103.3 Кб
ID:	6390
Если при Target -> Program... возникает Error (Can not connect to target), то надо на плате зажать кнопку reset, перейти Target -> Program... (окно не откроется), отпустить кнопку reset, должно открыться окно Download.

Внимание!!! Если нужно ещё раз залить тот же бинарь (например изменили таймер и пересобрали), то несмотря на то, что путь уже прописан в File path в окне Download нужно ещё раз нажать Browse и выбрать этот же бинарь. Иначе будет залит первый вариант бинаря.
Размещено в Без категории
Просмотров 214 Комментарии 3
Всего комментариев 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 на форуме
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.