Минимальная плата разработки системы STM32F103C8T6
Информация о продукте
Модуль платы разработки минимальной системы STM32F103C8T6 ARM STM32 представляет собой плату разработки, основанную на микроконтроллере STM32F103C8T6. Он предназначен для программирования с использованием Arduino IDE и совместим с различными клонами, вариациями Arduino и платами сторонних производителей, такими как ESP32 и ESP8266.
Плата, также известная как Blue Pill Board, работает на частоте примерно в 4.5 раза выше, чем Arduino UNO. Его можно использовать для различных проектов и подключать к периферийным устройствам, таким как TFT-дисплеи.
Необходимые компоненты для создания проектов с использованием этой платы включают плату STM32, программатор FTDI, цветной TFT-дисплей, кнопку, небольшой макет, провода, блок питания (дополнительно для автономного режима) и преобразователь USB в последовательный порт.
Схема
Чтобы подключить плату STM32F1 к цветному TFT-дисплею на базе 1.8 ST7735 и кнопке, следуйте межконтактным соединениям, описанным на предоставленных схемах.
Настройка Arduino IDE для STM32.
- Откройте IDE Ардуино.
- Перейдите в Инструменты -> Доска -> Менеджер досок.
- В диалоговом окне со строкой поиска найдите «STM32F1» и установите соответствующий пакет.
- Дождитесь завершения процедуры установки.
- После установки плата STM32 должна быть доступна для выбора в списке плат Arduino IDE.
Программирование плат STM32 с помощью Arduino IDE.
С момента своего создания Arduino IDE продемонстрировала стремление поддерживать все виды платформ: от клонов Arduino и вариаций разных производителей до плат сторонних производителей, таких как ESP32 и ESp8266. По мере того, как все больше людей знакомятся с IDE, они начинают поддерживать все больше плат, не основанных на чипах ATMEL, и в сегодняшнем уроке мы рассмотрим одну из таких плат. Мы рассмотрим, как программировать плату разработки STM32F32C103T8 на базе STM6 с помощью Arduino IDE.
Плата STM32, которая будет использоваться в этом руководстве, — это не что иное, как плата разработки STM32F103 на базе чипа STM8F6C32T1, обычно называемая «Blue Pill» в соответствии с синим цветом ее печатной платы. Blue Pill оснащен мощным 32-битным процессором ARM STM32F103C8T6 с тактовой частотой 72 МГц. Плата работает на логических уровнях 3.3 В, но ее контакты GPIO были протестированы на устойчивость к 5 В. Хотя он не оснащен Wi-Fi или Bluetooth, как варианты ESP32 и Arduino, он предлагает 20 КБ ОЗУ и 64 КБ флэш-памяти, что делает его подходящим для крупных проектов. Он также имеет 37 контактов GPIO, 10 из которых могут использоваться для аналоговых датчиков, поскольку у них включен АЦП, а также другие, которые поддерживают SPI, I2C, CAN, UART и DMA. Вы согласитесь со мной, что для платы стоимостью около 3 долларов это впечатляющие характеристики. Обобщенная версия этих спецификаций по сравнению с версией Arduino Uno показана на изображении ниже.
Судя по приведенным выше характеристикам, в сегодняшнем уроке частота, на которой работает Blue Pill, примерно в 4.5 раза выше, чем у Arduino UNO.ampГоворя о том, как использовать плату STM32F1, мы подключим ее к 1.44-дюймовому TFT-дисплею и запрограммируем ее для расчета константы «Пи». Мы отметим, сколько времени потребовалось плате для получения значения, и сравним его со временем, которое требуется Arduino Uno для выполнения той же задачи.
Необходимые компоненты
Для создания этого проекта необходимы следующие компоненты;
- Плата STM32
- Программист ФТДИ
- Цветной TFT
- Кнопка нажатия
- Маленький макет
- Провода
- Внешний аккумулятор
- Преобразователь USB в последовательный порт
Как обычно, все компоненты, использованные в этом уроке, можно купить по прикрепленным ссылкам. Однако банк питания необходим только в том случае, если вы хотите развернуть проект в автономном режиме.
Схема
- Как упоминалось ранее, мы подключим плату STM32F1 к 1.8-дюймовому цветному TFT-дисплею на базе ST7735 вместе с кнопкой.
- Кнопка будет использоваться для указания плате начать расчет.
- Соедините компоненты, как показано на схеме ниже.
Чтобы упростить копирование соединений, ниже описаны контакты между выводами STM32 и дисплеем.
СТМ32 – СТ7735
Еще раз проверьте соединения, чтобы убедиться, что все в порядке, поскольку это может оказаться немного сложнее. После этого мы приступили к настройке платы STM32 для программирования с помощью Arduino IDE.
Настройка Arduino IDE для STM32.
- Как и в случае с большинством плат, созданных не Arduino, необходимо выполнить небольшую настройку, прежде чем плату можно будет использовать с Arduino IDE.
- Это предполагает установку платы. file либо через диспетчер плат Arduino, либо загрузив из Интернета и скопировав files в папку оборудования.
- Маршрут Board Manager является менее утомительным, и, поскольку STM32F1 входит в число перечисленных плат, мы пойдем по этому пути. Начните с добавления ссылки на плату STM32 в списки предпочтений Arduino.
- Перейти к File -> Настройки, затем введите это URL ( http://dan.drown.org/stm32duino/package_STM32duino_index.json ) в поле, как указано ниже, и нажмите «ОК».
- Теперь перейдите в Инструменты -> Доска -> Менеджер досок, откроется диалоговое окно с панелью поиска. Искать STM32F1 и установите соответствующий пакет.
- Процедура установки займет несколько секунд. После этого плата должна быть доступна для выбора в списке плат Arduino IDE.
Код
- Код будет написан так же, как и любой другой скетч для проекта Arduino, с той лишь разницей, что это способ ссылки на контакты.
- Чтобы иметь возможность легко разработать код для этого проекта, мы будем использовать две библиотеки, которые являются модификациями стандартных библиотек Arduino, чтобы сделать их совместимыми с STM32.
- Мы будем использовать модифицированную версию библиотек Adafruit GFX и Adafruit ST7735.
- Обе библиотеки можно скачать по прикрепленным к ним ссылкам. Как обычно, я сделаю небольшой разбор кода.
- Мы начинаем код с импорта двух библиотек, которые будем использовать.
- Далее мы определяем контакты STM32, к которым подключены контакты CS, RST и DC ЖК-дисплея.
- Далее мы создаем несколько определений цветов, чтобы позже в коде можно было легко использовать цвета по их именам, а не по их шестнадцатеричным значениям.
- Затем мы устанавливаем количество итераций, которые должна пройти плата, а также продолжительность обновления индикатора выполнения, который будет использоваться.
- После этого мы создаем объект библиотеки ST7735, который будет использоваться для ссылки на дисплей на протяжении всего проекта.
- Мы также указываем вывод STM32, к которому подключена кнопка, и создаем переменную для хранения ее состояния.
- После этого мы переходим к функции void setup().
- Мы начинаем с установки pinMode() контакта, к которому подключена кнопка, активируя внутренний подтягивающий резистор на выводе, поскольку кнопка при нажатии соединяется с землей.
- Далее мы инициализируем последовательную связь и экран, устанавливая черный фон дисплея и вызывая функцию print() для отображения интерфейса.
- Далее идет функция voidloop(). Функция цикла void довольно проста и коротка благодаря использованию библиотек/функций.
- Начнем с считывания состояния кнопки. Если кнопка была нажата, мы удаляем текущее сообщение на экране с помощью функции removePressKeyText() и рисуем изменяющийся индикатор выполнения с помощью функции drawBar().
- Затем мы вызываем функцию запуска расчета, чтобы получить и отобразить значение Пи вместе со временем, затраченным на его вычисление.
- Если кнопка не нажата, устройство остается в режиме ожидания, а на экране требуется нажать клавишу для взаимодействия с ним.
- Наконец, в конце цикла вставляется задержка, чтобы дать немного времени перед созданием «циклов».
- Оставшаяся часть кода — это функции, вызываемые для решения задач от рисования столбика до вычисления числа Пи.
- Большинство этих функций описано в нескольких других руководствах, посвященных использованию дисплея ST7735.
- Полный код проекта доступен ниже и прикреплен в разделе загрузки.
Загрузка кода в STM32
- Загрузка эскизов в STM32f1 немного сложнее по сравнению со стандартными платами, совместимыми с Arduino. Чтобы загрузить код на плату, нам понадобится преобразователь USB-to-Serial на базе FTDI.
- Подключите преобразователь USB-последовательный порт к STM32, как показано на схеме ниже.
Вот схема подключения по контактам
ФТДИ — STM32
- После этого мы меняем положение перемычки состояния платы на позицию один (как показано на рисунке ниже), чтобы перевести плату в режим программирования.
- После этого нажмите кнопку сброса на плате один раз, и мы готовы загрузить код.
- На компьютере убедитесь, что вы выбрали «Общая плата STM32F103C» и выберите серийный номер в качестве метода загрузки, после чего вы можете нажать кнопку загрузки.
- После завершения загрузки установите перемычку состояния в положение «О» Это переведет плату в режим «запуска», и теперь она должна начать работать на основе загруженного кода.
- На этом этапе вы можете отключить FTDI и подать питание на плату через USB. Если код не запускается после подачи питания, убедитесь, что вы правильно восстановили перемычку и повторно подали питание на плату.
Демо
- После завершения кода следуйте описанному выше процессу загрузки, чтобы загрузить код в вашу установку.
- Вы должны увидеть экран, как показано на рисунке ниже.
- Нажмите кнопку, чтобы начать расчет. Вы должны увидеть, как индикатор выполнения постепенно скользит до конца.
- В конце процесса отображается значение Пи и время, затраченное на расчет.
- Тот же код реализован на Arduino Uno. Результат показан на изображении ниже.
- Сравнивая эти два значения, мы видим, что «Blue Pill» более чем в 7 раз быстрее, чем Arduino Uno.
- Это делает его идеальным для проектов, требующих тяжелой обработки и ограничений по времени.
- Небольшой размер Blue Pill также является преимуществом.tagЗдесь он лишь немного больше, чем Arduino Nano, и его можно использовать там, где Nano не будет достаточно быстрым.
Документы/Ресурсы
![]() |
STM32 STM32F103C8T6 Минимальная плата разработки системы [pdf] Руководство пользователя STM32F103C8T6 Минимальная системная плата для разработки, STM32F103C8T6, Минимальная системная плата для разработки, Плата для разработки системы, Макетная плата, Плата |