Введение
Многим любителям микропроцессорной техники известен широко распространённый проект под названием Arduino [1]. Он отличается оригинальностью, простотой освоения, доступностью аппаратной части и многообразием примеров использования. Данный проект за время своего многолетнего существования принёс огромную пользу в плане образования людей, интересующихся микропроцессорной техникой.
Аналогичный проект появился и для микроконтроллеров серии STM32 [2]. Благодаря разработке и массовому производству недорогих отладочных плат Maple mini, а также бесплатной среде разработки Maple-IDE от компании Leaflabs [3], появился ещё один путь для быстрого освоения микроконтроллеров серии STM32.
Стоимость отладочных плат Maple mini на таких популярных торговых площадках, как Aliexpress и Ebay составляет около $4. При желании эти платы можно изготовить самостоятельно.
Рассмотрим поочерёдно сначала отладочную плату Maple mini, а затем среду разработки Maple-IDE.
Отладочная плата Maple mini
Основой платы Maple mini является микроконтроллер STM32F103. Она имеет встроенный в микроконтроллер интерфейс USB и не требует для подключения к компьютеру дополнительного моста USB-UART.
Плата Maple mini имеет следующие технические характеристики:
- ядро процессора ARM Cortex M3;
- разрядность процессора 32 бит;
- тактовая частота 72 МГц;
- оперативная память 20 КБ;
- флеш-память программ 128 КБ;
- 34 вывода GPIO;
- 12 выходов ШИМ (PWM) с разрешением 16 бит;
- 9 аналоговых входов АЦП (ADC) с разрешением 12 бит;
- два АЦП с временем преобразования 1 мкс;
- два интерфейса SPI;
- два интерфейса I2C;
- три интерфейса USART;
- один интерфейс CAN;
- семь каналов прямого доступа к памяти (DMA);
- четыре таймера;
- встроенные часы реального времени с генератором на 32 кГц и возможностью калибровки для питания часов от элемента автономного питания;
- задающий генератор на 8 МГц;
- два ряда 20-штырьковых соединителей;
- две кнопки;
- светодиод;
- разъём miniUSB.
Данная плата может питаться от интерфейса USB и легко подключаться к стандартному панельному разъёму DIP40. Размеры платы составляют 51,3 × 18,2 мм.
Внешний вид платы с разных сторон приведён на рисунке 1.

Соответствие выводов платы функциональному назначению представлено в таблице 1.

Для внешнего прерывания можно использовать любые выводы GPIO, но одновременно могут использоваться только 16 выводов и только одного порта PА или PВ.
На рисунке 2 приведена электрическая принципиальная схема платы.

Благодаря конструкции данную плату легко интегрировать в другую плату, например, через панельку, а можно использовать как самостоятельное законченное изделие.
Среда разработки программ Maple-IDE
Программы для такой платы легко создавать с помощью специальной среды разработки Maple-IDE, упомянутой ранее. Эту среду можно свободно загрузить с сайта производителя [3]. После загрузки и распаковки среды в отдельный каталог, её можно запустить на выполнение. При этом на экране монитора отобразится рабочая оболочка среды, приведённая на рисунке 3.

Синтаксис языка программирования Maple-IDE аналогичен языку среды разработки Arduino. Среда разработки имеет встроенную справочную систему по языку.
После подключения платы к компьютеру через интерфейс USB необходимо установить драйверы для платы Maple mini. Процесс установки драйверов состоит из двух этапов.
На первом этапе нужно найти в диспетчере устройств компьютера устройство Maple R3 и обновить для него драйвер из каталога среды разработки Maple-IDE: С:\maple-ide-0.0.12-windowsxp32\drivers\mapleDrv\serial.
На втором этапе необходимо переключить плату Maple mini в режим загрузчика. Для этого нужно кратковременно нажать и отпустить кнопку сброса на плате, а затем нажать и отпустить кнопку с названием but=32. Через несколько секунд после этого в диспетчере устройств должно появиться устройство Maple 003. В свойствах данного устройства необходимо нажать программную кнопку обновления драйвера и указать путь к драйверу: С:\maple-ide-0.0.12-windowsxp32\drivers\mapleDrv\dfu.
После установки драйверов загрузите простой пример программы в самой оболочке с помощью меню команд: File–Examples–Digital–Blink. При этом в поле редактора среды разработки откроется исходный код программы, перевод которого приведён в листинге.

Данный пример позволяет осуществлять мигание светодиодом, расположенным на плате.
С помощью меню команд Tools–Board выберите тип подключённой к компьютеру платы и способ загрузки программы: в оперативную память микроконтроллера RAM или в его постоянную FLASH-память.
Загрузка программы в RAM происходит быстрее, но не сохраняется после сброса или отключения питания. Данный вид загрузки используется в основном для отладки программы и сохранения ресурса FLASH-памяти.
Загрузка программы в FLASH-память является единственным вариантом для постоянного хранения программы.
Далее необходимо выбрать последовательный порт Tools–Serial port для загрузки программы и выполнить компиляцию программы с помощью меню Sketch–Verify/Compile.
Проверка и компиляция программы потребует немного времени и завершится выводом сообщения о результате операции.
При успешном выполнении операции можно осуществить загрузку программы в микроконтроллер платы с помощью меню команд File–Upload to I/O Board или нажатием сочетания клавиш Ctrl+U.
Некоторые перечисленные операции можно выполнять с помощью программных кнопок со специальными символами операций, расположенных непосредственно под командами главного меню среды разработки.
После загрузки программы в память микроконтроллера платы индикатор начнёт мигать.
Кроме рассмотренного, среда разработки содержит большое количество других примеров, которые можно самостоятельно опробовать. Например, одним из интересных примеров является Crude VGA, позволяющий подключить к плате монитор VGA и отобразить на нём цветные полосы.
Способ подключения платы Maple mini к монитору VGA описан в самом примере, а его перевод на русский язык приведён в таблице 2.

Также среда разработки имеет встроенную библиотеку программ. Примечательно, что одна из этих библиотек служит для поддержки операционной системы FreeRTOS и открывает большие перспективы для создания интересных программ.
Поскольку среда разработки постоянно совершенствуется и развивается, в ней будут появляться новые примеры и возможности. Поэтому полезно будет следить за её совершенствованием и периодически обновлять версию.
Благодаря таким продуктам освоение микроконтроллеров серии STM32 становится простым и увлекательным.
Литература
Если вам понравился материал, кликните значок — вы поможете нам узнать, каким статьям и новостям следует отдавать предпочтение. Если вы хотите обсудить материал —не стесняйтесь оставлять свои комментарии : возможно, они будут полезны другим нашим читателям!