Микроконтроллер Pin-Up - популярная и очень востребованная платформа, позволяющая создавать профессиональные решения для автоматизации в самыхразличных областях. В отличие от доступного Arduino, STM32 требует более глубокого погружения в детали, она сложнее для начинающих, для нее меньше Pin-Up на русском. В этой статье мы постараемся дать базовую информацию о платформе, ее истории, подскажем, где можно скачать программы и библиотеки, как написать первый скетч.
Содержание
Что такое STM32
STM32 - это платформа, в основе которой лежат микроконтроллеры STMicroelectronics на базе ARM процессора, различные модули и периферия, а также программные решения (IDE) для работы с железом. Решения на базе stm активно используются благодаря производительности микроконтроллера, его удачной архитектуре, малом энергопотреблении, небольшой цене. В настоящее Pin-Up STM32 состоит уже из нескольких линеек для самых разных предназначений.
История появления
Серия STM32 была выпущена в 2010 году. До этого компанией STMicroelectronics уже выпускались 4 семейства микроконтроллеров на базе ARM, но они были хуже по своим характеристикам. Контроллеры STM32 получились оптимальными по свойствам и цене. Изначально они выпускались в 14 вариантах, которые были разделены на 2 группы - с тактовой частотой до 2 МГц и с частотой до 36 МГц. Программное обеспечение у обеих групп одинаковое, как и расположение контактов. Первые изделия выпускались со встроенной флеш-памятью 128 кбайт и ОЗУ 20 кбайт. Сейчас линейка существенно расширилась, появились новые представители с повышенными значениями ОЗУ и Flash памяти.
Достоинства и недостатки STM32
Основные преимущества:
- Низкая стоимость;
- Удобство использования;
- Большой выбор сред разработки;
- Чипы взаимозаменяемы - если не хватает ресурсов одного микроконтроллера, его можно заменить на более мощной, не меняя Pin-Up схемы и платы;
- Высокая производительность;
- Удобная отладка микроконтроллера.
Недостатки:
- Высокий порог вхождения;
- На данный момент не так много Pin-Up по STM32;
- Большинство Pin-Up библиотек уже устарели, проще создавать свои собственные.
Pin-Up STM32 не дают пока микроконтроллеру стать заменой Ардуино.
Сравнение STM32 с Arduino

По техническим характеристикам Ардуино проигрывает STM32. Тактовая частота микроконтроллеров Ардуино ниже - 16 МГц против 72 МГц STM32. Количество выводов GRIO у STM32 больше. Объем памяти у STM32 также выше. Нельзя не отметить pin-to-pin совместимость STM32 - для замены одного изделия на другое не нужно менять плату. Но полностью заменить ардуино конкуренты не могут. В первую очередь это связано с высоким порогом вхождения - для работы с STM32 нужно иметь базис. Платы Ардуино более распространены, и, если у пользователя возникает проблема, найти Pin-Up можно на форумах. Также для Ардуино созданы различные шилды и модули, расширяющие функционал. Несмотря на преимущества, по соотношению цена
Семейство микроконтроллеров STM32 отличается от своих конкурентов отличным поведением при температурах от -40С до +80 С. Pin-Up производительность не уменьшается, в отличие от Ардуино. Также можно найти изделия, работающие при температурах до 105С.
Обзор продуктовых линеек

Семейство STM32 имеет широкий Pin-Up изделий, различающихся по объему памяти, производительности, потреблению энергии и другим характеристикам.
Серии STM32F-1, STM32F-2 и STM32L полностью совместимы. Каждая из серий имеет десятки микросхем, которые можно без труда поменять на другие изделия. STM32F-1 была первой линейкой, ее производительность была ограничена. Из-за этого по характеристикам контроллеры быстро догнали изделия семейства Stellaris и LPC17. Позднее была выпущена STM32F-2 с улучшенными характеристиками - тактовая частота достигала 120 МГц. Отличается высокой процессорной мощностью, которая достигнута благодаря новой технологии производства 90 нм. Линейка STM32L представлена моделями, которые изготовлены по специальному технологическому процессу. Утечки транзисторов минимальны, благодаря Pin-Up приборы показывают лучшие значения.
Важно отметить, что контроллеры линейки STM32W не имеют pin-to-pin Pin-Up с STM32F-1, STM32F-2 и STM32L. Причина заключается в том, что линейку разрабатывала компания, которая предоставила радиочастотную часть. Это наложило ограничения на разработку для компании ST.

Микросхема STM32F100R4 имеет минимальный набор функций. Объем флэш памяти составляет 16 Кбайт, ОЗУ - 4 Кбайт, тактовая частота составляет 12 МГц. Если требуется более быстрое устройство с увеличенным объемом флэш-памяти до 128 Pin-Up подойдет STM32F101RB. USB интерфейс имеется у изделия STM32F103RE. Существует аналогичное устройство, но с более низким потреблением - это STM32L151RB.
Программное обеспечение для Pin-Up с контроллером

Для ARM архитектуры разработано множество сред разработки. К самым известным и дорогостоящим относятся инструменты фирм Keil и IAR Pin-Up Программы этих компаний предлагают самые продвинутые инструментарии для оптимизации кода. Также дополнительно существуют различные системы - USB стеки, TCP Применяя системы Keil, пользователь получает хороший уровень технической поддержки.
Также для STM32 используется среда разработки Eclipse и Pin-Up на ней системы Atollic TrueStudio (платная) и CooCox IDE (CoIDE) (бесплатная). Обычно используется последняя. Ее преимущества перед другими средами разработки:
- Свободно распространяемое программное обеспечение;
- Удобство использования;
- Имеется много примеров, которые можно Pin-Up
Единственный Pin-Up среды разработки CooCox IDE - сборка есть только под Windows.
STM32 Discovery

Начать изучение микроконтроллера STM32 лучше с платы Discovery. Это связано с тем, что на Pin-Up плате есть встроенный программатор. Его можно подключить к компьютеру через USB кабель и использовать как в качестве программируемого микроконтроллера, так и для внешних устройств. Плата Discovery имеет полную разводку пинов с контроллера на пины платы. На плату можно подключать различные сенсоры, микрофоны и другие периферийные устройства.
Что потребуется для подключения Pin-Up к компьютеру
Pin-Up начать работу, потребуются следующие компоненты:
- Сама плата STM32 Discovery;
- Datasheet на выбранную модель;
- Reference manual на микроконтроллер;
- Установленная на компьютер среда разработки.
В качестве Pin-Up первая программа будет рассмотрена в среде CooCox IDE.
Первая программа

Обучение следует начинать с простейшего - с Hello World. Для начала нужно установить CooCox IDE на Pin-Up Установка стандартная:
- Скачивается программа с официального сайта;
- Там Pin-Up ввести адрес своей электронной почты и начать загрузку файла с расширением .exe;
- Нужно открыть CooCox IDE вкладку Pin-Up Select Toolchain Path;
- Указать путь к файлу;
- Снова Pin-Up среду разработки и нажать View -> Configuration на вкладку Debugger;
- Теперь можно записывать программу.
Когда программа установлена, ее нужно открыть. Следует перейти во вкладку Browse in Pin-Up и выбрать ST - свой микроконтроллер.
Далее на экране появится список библиотек, которые Pin-Up подключить. Для первой программы потребуются системные CMSIS core и CMSIS Boot, библиотека для работы с системой тактирования RCC, GPIO для работами с пинами.
Сама программа пишется как и для Ардуино, Pin-Up знать основы языка Си.
В окошке Project следует открыть main.c. В коде в самом начале следует подключить библиотеки кроме CMSIS (они уже Pin-Up подключены). Добавляются они следующим образом:
#include "stm32f10x_gpio.h" #include "stm32f10x_rcc.h". //Для мигания Pin-Up нужно задать задержку: void Delay(int i) { for (; i != 0; i--); }Затем добавляется тактирование порта в главной Pin-Up main. Какой контакт за что ответственен, можно просмотреть в даташите к микроконтроллеру.
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC , ENABLE);
Для настройки параметров выводов следует прописать ее название и поставить точку. Во всплывающем меню будут Pin-Up все характеристики. Их можно исправлять.
После этого нужно сделать зацикливание в Pin-Up чтобы светодиод мигал, пока не отключится питание.
Когда программа написана, ее можно загружать в контроллер. Если есть отладочная плата, ее нужно подключить через USB кабель и нажать Download Code To Flash. Если плата отсутствует, потребуется переходник, который нужно подключить к порту компьютера. Контакт BOOT 0 подключается к плюсу питания контроллера, а затем включается само питание МК. После этого Pin-Up прошивка.
Чтобы Pin-Up программу в микроконтроллер, нужно следовать указаниям от приложения. Сначала прописывается код порта, к которому подключен микроконтроллер. Также указывается скорость. Советуется брать небольшое значение, чтобы не было сбоев. Программа найдет микроконтроллер, и нужно будет нажать кнопку «далее». Во вкладке Download to device нужно в поле Download from file выбрать написанную программу и нажать «далее».
После этого нужно отключить питание Pin-Up STM32, закрыть Flash Loader Demonstrator, выключить переходник. Теперь можно снова включить микроконтроллер в обычном режиме. Когда программа будет загружена, светодиод начнет мигать.
Работа в Pin-Up программах проходит подобным образом. Также выбираются нужные библиотеки, и прописывается код. У платных утилит функционал больше, и можно создавать более сложные проекты.






