Магазин для электронщиков и радиолюбителей

Базовое руководство по работе с микроконтроллерами STM32 для новичков

Базовое руководство по работе с микроконтроллерами STM32 для новичков

Возиться с Arduino приятно и весело, но через некоторое время вы доходите до точки, когда требуется более низкоуровневое и гибкое управление, и это прекрасный момент, чтобы уйти от высокоуровневых предостережений, которые предоставляет Arduino IDE. Хорошим началом в мире более сложного программирования микроконтроллеров могут стать устройства STM32 на основе ядра ARM Cortex-M.

Почему STM32?

STM32 – это семейство микроконтроллеров от STMicroelectronics, и эти микроконтроллеры являются 32-разрядными. 32-битные микроконтроллеры – это хорошо, но главное, что меняет правила игры – это скорость выполнения вашей программы и степень гибкости, которую микроконтроллер обеспечивает с точки зрения аппаратных поддерживаемых протоколов, таких как I2C, SPI, CAN, I2S, UART и многих других. Конкретная отладочная плата, которую мы будем использовать в этом проекте – это «Blue Pill», отладочная плата с STM32F103, работающим на частоте 72 МГц. Вам также понадобятся перемычки и ST-Link для программирования платы.

CUBE IDE

Вам нужно зайти на веб-сайт STM, указать адрес электронной почты и имя, чтобы загрузить эту бесплатную среду IDE, ссылка для загрузки приходит на электронную почту, щелкните ее, загрузите, извлеките, установите. Установка IDE – довольно простой процесс, даже если у вас практически нет опыта установки программного обеспечения в выбранной вами операционной системе.

Настройка среды разработки для STM32

Откройте IDE и нажмите «Start a New STM32 Project», затем в левой части IDE вы увидите панель поиска, которая представляет собой поиск по наименованию компонента, введите STM32F103C8, и справа появится компонент, выберите его. Нажмите «Next». Затем создайте проект и назовите его, после этого вы получите всплывающее окно с надписью «Open Associated Perspective», нажмите «Yes», после чего будут установлены файлы, относящиеся к нашей среде разработки.

После завершения загрузки и распаковки нам нужно выполнить обычную настройку, характерную для нашей платы разработки. Вы увидите меню, содержащее вкладку распиновки и конфигурации, а внутри него вы увидите вертикальное меню с двумя вкладками, «Category» и «A-Z», нажмите «A-Z» и выберите «RCC», внутри него в раскрывающемся меню «High-Speed Clock» выберите «Crystal/Ceramic Resonator», отключите «Low-Speed Clock».

Теперь заходим в настройки SYS, меняем Debug на Serial Wire. Теперь с правой стороны вы увидите схематическое представление распиновки микросхемы микроконтроллера, которую мы используем. Нажмите на PC13, из появившегося списка выберите или назначьте его «GPIO_Output». Теперь нажмите на вкладку Clock Configuration, в которой под PLL Source Mux по умолчанию выбран HSI, поставьте галочку выбора на HSE и в HCLK вместо «16» напишите «72». В System Clock Mux выберите PLLCLK.

Базовое руководство по работе с микроконтроллерами STM32 для новичков
Базовое руководство по работе с микроконтроллерами STM32 для новичков
Базовое руководство по работе с микроконтроллерами STM32 для новичков
Базовое руководство по работе с микроконтроллерами STM32 для новичков

Приступаем к программированию микроконтроллера STM32

Крайний левый вертикальный столбец расширяет Core-SRC, затем вы увидите main.c, дважды щелкните по нему, вы увидите много кода по умолчанию, который IDE написал для вас. Но нас интересует непрерывный цикл, цикл while 1 можно найти в том же main.c, здесь пишем следующий код, и ВАЖНО: сохраняем и генерируем код, собирая проект через Build.

HAL_GPIO_TogglePin(GPIOC, GPIO_PIN_13);

 HAL_Delay(2000);

Базовое руководство по работе с микроконтроллерами STM32 для новичков

Сборка проекта

Перейдите в Project-Build Project и в окне консоли вы должны увидеть что-то вроде этого: 17:19:35 Build Finished. 0 errors, 0 warnings. (took 1s.612ms).

Базовое руководство по работе с микроконтроллерами STM32 для новичков

Отладка проекта STM32

Перейдите в Run-Debug Configurations из вертикального меню во вновь открывшемся окне, внутри STM32 Cortex M вы увидите имя файла, над которым вы работаете, выберите его, теперь перейдите на вкладку Debugger, в раскрывающемся списке Debug probe выберите ST-LINK (OpenOCD) и ниже внутри сценария конфигурации нажмите «Show generator options», а в раскрывающемся списке «Reset Mode» «Select software system reset». Примените настройки и закройте.

Базовое руководство по работе с микроконтроллерами STM32 для новичков
Базовое руководство по работе с микроконтроллерами STM32 для новичков

Подключите STM32 к программатору ST-Link

Подключите линии микроконтроллера STM32 к выводам программатора ST-Link следующим образом:

3.3V-3.3V

GND — GND

SWDIO — SWDIO

SWCLK — SWCLK

Базовое руководство по работе с микроконтроллерами STM32 для новичков

После выполнения этих подключений подключите ST-Link к USB-порту вашего компьютера с CUBE IDE.

Запускаем программу на микроконтроллере STM32

Нажмите на крошечную кнопку отладки (Debug), IDE попросит вас переключиться, нажмите «Yes», и появится новое окно и панель инструментов, нажмите кнопку «Resume», и ваш код будет запущен на микроконтроллере.

Базовое руководство по работе с микроконтроллерами STM32 для новичков
Базовое руководство по работе с микроконтроллерами STM32 для новичков

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *