Наверное многие, как и я, пытались перейти с arduino на что - то более мощное и современное. Причины у всех свои. Моя причина - это простой интерес к новым технологиям. Arduino я уже много раз использовал в различных проектах. Однажды даже делал "инфракрасный барьер", который и по сей день работает на предприятии в очень неблагоприятных условиях: постоянная пыль, тряска, перепады температур. Он контролирует загрузку конусной дробилки камнем.
Интерес ко всему новому подтолкнул меня к покупке отладочной платы STM32F103C8T6. Многие, видя эту плату, проводят аналогию с arduino nano, выглядит она очень похоже.
Но в этом то и кроется подвох. Программировать её гораздо сложнее. Cейчас есть возможность использовать с этой платой Arduino IDE, но это не наш случай, так как она предоставляет слишком высокий уровень абстракции, а мне хочется уметь более гибко пользоваться ресурсами микроконтроллера.
Есть еще онлайн IDE os.mbed.com, которая тоже позволяет использовать вышеупомянутую отладочную плату не вникая в структуру микроконтроллера.
В прошлом году я выкладывал видеоролик, в котором рассказывал о моём выборе IDE. Тогда мой выбор пал на Coocox IDE. Этот ролик пользовался большой популярностью. Отсюда понятно, что тема довольно актуальная и многие, как и я, пытаются найти удобную среду для разработки.
У Coocox IDE есть недостаток: для неподготовленного пользователя она довольно трудно настраивается, и даже после публикации видеоролика у многих не получалось её настроить.
В данный момент она похоже не развивается. Скачать её с официального сайта у меня уже не получилось, так он оказался недоступен.
Пришлось задуматься об альтернативе. Решил посмотреть, что же сейчас имеется на рынке для программирования STM32? В результате поиска я наткнулся на вышеупомянутую os.mbed.com. Всем кто не знает, что это за зверь, советую приглядеться в его сторону.
Еще я наткнулся на Atollic TrueStrudio. Эта IDE распространяется бесплатно для программирования микроконтроллеров STM32. Каково же было моё удивления, когда после её установки я получил среду разработки полностью готовую к использованию. Не пришлось ничего настраивать, ничего добавлять. Она работает из коробки. Сейчас хочу поделиться с вами процессом создания проекта для STM32F103C8T6.
Итак, для работы нам потребуются
- Atollic TrueStudio - IDE для работы с проектом
- CubeMx - утилита для начальной инициализации микроконтроллера
Установка
Скачиваем Atollic TrueSTUDIO с официального сайта.
Нас попросят заполнить нехитрую форму
Выбираем последнюю доступную версию
Запускаем скачанный файл. Русского языка в данной программе нет, так что выбираем любой понятный из списка
Далее будет лицензионное соглашение, с которым мы согласимся. Выберем компоненты для установки.
В процессе установки нам предложат установить драйверы для st-link. Соглашаемся.
На этом установка завершена.
Создание проекта
Создание проекта начнем с утилиты CubeMx. Нажимаем кнопку "New Project"
Выбираем нужный нам микроконтроллер
Теперь зададим порт PC13 как GPIO_Output, чтобы можно было поморгать встроенным светодиодом.
На вкладке Configuration выбираем раздел GPIO
И задаем имя LED для порта PC13
Еще нам необходимо включить отладку
Заходим во вкладку Project-Settings и задаем имя проекта и используемую IDE
Нажимаем Generate Code
Теперь наш проект создан и можно открыть его в Atollic TrueStudio
В дереве проекта выбираем файл Src/main.c
Дописываем в функцию main после /* USER CODE BEGIN 3 */ код для мигания светодиодом
1 2 3 4 5 6 7 |
while (1) { /* USER CODE END WHILE */ /* USER CODE BEGIN 3 */ HAL_GPIO_TogglePin(LED_GPIO_Port,LED_Pin); HAL_Delay(500); } |
Нажимаем кнопку build, а затем debug
Нажимаем кнопку Resume
Теперь наша программа начала выполняться на микроконтроллере и светодиод замигал.
Для выхода из режима отладки нажмите кнопку terminate( это красный квадратик).
Буду благодарен за помощь проекту