Каталог товаров
Клиенту
Тема сайта:
+38 (066) 305-77-25
Наш адрес
Україна, времено - только доставка Новой Почтой, УкрПочтой, МистЕкспрес, ROZETKA Delivery
Телефоны:
Время работы
  • Пн-Пт: с 9 до 18
  • Сб.: с 10 до 17
  • Вс: с 11 до 16
E-mail
Мы в соцсетях
Перейти в контакты
0 0
Каталог
Главная
Закладки
0
Сравнить
0
Контакты

STM32 Плата разработчика STM32F103C6T6 / STM32F103C8T6

Страна-производитель: Китай Код товара: 1244
1
Все о товаре
Описание
Характеристики
Отзывы 1
Вопросы0
FAQ
Инструкция
Рекомендуем
STM32 Плата разработчика STM32F103C6T6 / STM32F103C8T6
STM32 Плата разработчика STM32F103C6T6 / STM32F103C8T6
STM32 Плата разработчика STM32F103C6T6 / STM32F103C8T6
STM32 Плата разработчика STM32F103C6T6 / STM32F103C8T6
STM32 Плата разработчика STM32F103C6T6 / STM32F103C8T6
STM32 Плата разработчика STM32F103C6T6 / STM32F103C8T6
STM32 Плата разработчика STM32F103C6T6 / STM32F103C8T6
Есть в наличии
Код товара: 1244
99.00 грн
Нашли дешевле?
🚚 Відправка щодня о 15 годині
-Рабочее напряжение-:3,3–5 В (питание платы); логика 3,3 В
-Напряжение логики управления-:3,3 В
-Интерфейс-:USART, SPI, I²C, ADC, PWM; SWD/JTAG
-Рабочая частота-:до 72 МГц
-Флеш-память-:STM32F103C6T6 — 32 КБ; STM32F103C8T6 — 64 КБ
-Хранилище данных ОЗУ-:STM32F103C6T6 — 10 КБ; STM32F103C8T6 — 20 КБ
-Микроконтроллер-:STM32F103C6T6 или STM32F103C8T6, Arm Cortex-M3
-Тип разъема-:Micro-USB
-Размеры-:54 × 23,2 × 11,5 мм
-Диапазон рабочей температуры-:−40…+85 °C (микроконтроллер)
Доставка
Новой почтой в отделения и почтоматы
Новой почтой в отделения и почтоматы
от 80 ₴
ROZETKA Delivery
ROZETKA Delivery
Фиксировано 49 грн
Укрпочтой в отделение по Украине
Укрпочтой в отделение по Украине
от 45 ₴
Meest Почта
Meest Почта
от 49 ₴
Оплата
Оплата картой Оплата картой
Перевод на карточку Перевод на карточку
Оплата на IBAN Оплата на IBAN
Безналичный расчет Безналичный расчет
Наложенный платеж Наложенный платеж
Гарантийные положения
Гарантийные обязательства на товары, которые были паяные, не распространяются
STM32 Плата разработчика STM32F103C6T6 / STM32F103C8T6
Код товара: 1244
99.00 грн
Описание

Кратко о плате STM32F103C6T6 / C8T6

Компактная плата разработки на 32-битном микроконтроллере STM32F103 с ядром Arm Cortex-M3 предназначена для обучения, прототипирования, управления периферией и создания встраиваемых устройств. Микроконтроллер работает на частоте до 72 МГц, а плата оснащена Micro-USB, кнопкой RESET, перемычками выбора режима загрузки и выводами для подключения внешних модулей.

На плате может быть установлен STM32F103C6T6 или STM32F103C8T6. Перед выбором целевого профиля и компоновкой прошивки проверьте маркировку микроконтроллера: C6T6 имеет 32 КБ Flash и 10 КБ SRAM, C8T6 — 64 КБ Flash и 20 КБ SRAM.[1][2]

Логика микроконтроллера — 3,3 В. Наличие Micro-USB не означает, что плата поставляется с USB-загрузчиком: для первой прошивки и отладки практичнее использовать SWD-программатор или системный загрузчик через USART.

Ключевые характеристики

Микроконтроллер
STM32F103C6T6 или STM32F103C8T6
Ядро
32-битное Arm Cortex-M3
Тактовая частота
до 72 МГц
Память C6T6
32 КБ Flash, 10 КБ SRAM
Память C8T6
64 КБ Flash, 20 КБ SRAM
Интерфейсы
USART, SPI, I²C, ADC, PWM и другая периферия STM32F103
Питание платы
3,3–5 В в зависимости от входа питания
Логический уровень
3,3 В; допустимость 5 В проверяют для каждого конкретного вывода
Разъём
Micro-USB
Программирование и отладка
SWD/JTAG; системный загрузчик через USART
Размеры платы
54 × 23,2 × 11,5 мм

Подробное описание и особенности

Две модификации с разным объёмом памяти

STM32F103C6T6 и STM32F103C8T6 имеют одинаковую максимальную частоту ядра 72 МГц, но отличаются объёмом Flash и SRAM.[1][2] Проект для C8T6 может не поместиться в память C6T6, поэтому профиль микроконтроллера в IDE и размер секций памяти должны соответствовать маркировке установленного чипа.

Периферия для прототипирования

Выводы платы позволяют работать с цифровыми сигналами, АЦП, PWM и последовательными интерфейсами USART, SPI и I²C. Это позволяет подключать датчики, дисплеи, драйверы и модули связи, если их уровни напряжения и протокол совместимы с 3,3-вольтовой логикой STM32.

Микроконтроллеры STM32F103C6T6 и C8T6 также имеют аппаратные контроллеры USB и CAN.[1][2] Для практического использования требуются соответствующая прошивка и корректная внешняя обвязка; разъём Micro-USB сам по себе не гарантирует наличие готового USB-устройства, а для CAN необходим отдельный физический трансивер.

Прошивка и отладка

Интерфейс SWD подходит для записи прошивки, пошаговой отладки и восстановления платы. Системный загрузчик STM32 предоставляет альтернативный способ записи через поддерживаемый последовательный интерфейс после выбора режима BOOT.[3] Загрузка через Micro-USB возможна только при наличии совместимой пользовательской прошивки или предварительно установленного USB-загрузчика.

Для разработки можно использовать STM32CubeIDE, PlatformIO или Arduino IDE с установленным пакетом поддержки STM32. Во всех случаях сначала выберите точный микроконтроллер C6T6 или C8T6 и правильный метод загрузки.

Подойдёт / не подойдёт

Подойдёт

  • для изучения STM32, Cortex-M3 и разработки встраиваемого программного обеспечения;
  • для прототипов с датчиками, дисплеями и модулями через USART, SPI или I²C;
  • для систем управления с PWM, таймерами и аналого-цифровым преобразованием;
  • для проектов, которым достаточно 32 КБ Flash и 10 КБ SRAM в C6T6 или 64 КБ Flash и 20 КБ SRAM в C8T6;
  • для работы через SWD с возможностью отладки программы.

Не подойдёт

  • как плата с гарантированной конкретной модификацией без проверки маркировки C6T6 или C8T6;
  • для прямого подключения любых 5-вольтовых сигналов без проверки допустимости конкретного GPIO;
  • для непосредственного управления двигателями, реле и другими силовыми нагрузками без соответствующего драйвера;
  • как готовый CAN-узел без внешнего трансивера;
  • для гарантированной прошивки одним кабелем Micro-USB без предварительно установленного совместимого загрузчика.

Версии и совместимость

ПараметрSTM32F103C6T6STM32F103C8T6
Flash32 КБ[1]64 КБ[2]
SRAM10 КБ[1]20 КБ[2]
Максимальная частота ядра72 МГц72 МГц
Практический выборболее компактные прошивки с меньшим использованием RAMпроекты, которым требуется больший запас Flash и SRAM

Точную модификацию определяют по маркировке STM32F103C6T6 или STM32F103C8T6 на корпусе микроконтроллера.

Примеры применения

Сбор данных с датчиков

Плата может опрашивать цифровые датчики через I²C или SPI и аналоговые источники через ADC, обрабатывать результаты и передавать их через USART. Уровни сигналов подключённых модулей должны быть совместимы с 3,3 В.

Контроллер автоматики

GPIO, таймеры и PWM подходят для управления индикаторами, драйверами реле, сервоприводов или двигателей. Силовую нагрузку подключают через отдельный драйвер, а не непосредственно к GPIO.

Учебный стенд STM32

SWD позволяет загружать программу, устанавливать точки останова, просматривать регистры и пошагово анализировать выполнение кода в STM32CubeIDE или другой совместимой среде.

Подключение и первый запуск

  1. Проверьте микроконтроллер

    Прочитайте маркировку на корпусе и выберите в среде разработки STM32F103C6T6 или STM32F103C8T6. Не задавайте для C6T6 объём памяти C8T6.

  2. Выберите способ программирования

    Для SWD соедините SWDIO, SWCLK, GND и опорное напряжение в соответствии с обозначениями платы и программатора. Для системного загрузчика через USART используйте USB-UART адаптер с логикой 3,3 В и установите перемычки BOOT в нужный режим.

  3. Подайте правильное питание

    Подавайте 5 В через Micro-USB или обозначенный 5-вольтовый вход, а стабилизированные 3,3 В — только через соответствующий вход 3V3. Перед включением сверьте обозначения контактов на плате.

  4. Проверьте уровни периферии

    Соедините земли всех модулей и не подавайте 5 В на сигнальный вывод, пока его 5-вольтовая толерантность не подтверждена таблицей контактов для выбранного STM32.

Ограничения и безопасность

Не путайте питание платы и логические уровни

Питание 5 В через Micro-USB или 5-вольтовый вход не делает все GPIO 5-вольтовыми. Недопустимое напряжение на сигнальном выводе может повредить микроконтроллер.

Micro-USB не гарантирует наличие готового загрузчика

Если плата не определяется компьютером как USB-устройство, используйте SWD или системный загрузчик через USART. Не изменяйте положение перемычек BOOT при поданном питании.

Учитывайте установленную модификацию

Прошивка, собранная для 64 КБ Flash и 20 КБ SRAM, может не работать на STM32F103C6T6 с 32 КБ Flash и 10 КБ SRAM.

GPIO не предназначены для силовой нагрузки

Двигатели, реле, мощные светодиоды и другие нагрузки подключайте через драйвер с соответствующим питанием и защитой от импульсов.

Программаторы и адаптеры

FAQ

Как определить, C6T6 это или C8T6?

Точную модификацию показывает маркировка на корпусе микроконтроллера. Для C6T6 настраивайте 32 КБ Flash и 10 КБ SRAM, для C8T6 — 64 КБ Flash и 20 КБ SRAM.

Можно ли прошить плату только кабелем Micro-USB?

Только если на плате уже есть совместимый USB-загрузчик или прошивка с соответствующей функцией. Для первой записи надёжнее использовать SWD или системный загрузчик через USART.

Можно ли подключать сигналы 5 В?

Не ко всем контактам. Проверьте тип конкретного вывода в документации STM32; для неподтверждённых или нетолерантных входов используйте преобразователь логических уровней или делитель напряжения.

Поддерживается ли Arduino IDE?

Да, после установки пакета поддержки STM32. Выберите профиль, соответствующий фактическому C6T6 или C8T6, объёму памяти и способу загрузки.

Документы и источники

Micro-USB

Характеристики
-Основные-
-Рабочее напряжение-
3,3–5 В (питание платы); логика 3,3 В
-Напряжение логики управления-
3,3 В
-Интерфейс-
USART, SPI, I²C, ADC, PWM; SWD/JTAG
-Рабочая частота-
до 72 МГц
-Флеш-память-
STM32F103C6T6 — 32 КБ; STM32F103C8T6 — 64 КБ
-Хранилище данных ОЗУ-
STM32F103C6T6 — 10 КБ; STM32F103C8T6 — 20 КБ
-Микроконтроллер-
STM32F103C6T6 или STM32F103C8T6, Arm Cortex-M3
-Тип разъема-
Micro-USB
-Дополнительные-
-Размеры-
54 × 23,2 × 11,5 мм
-Диапазон рабочей температуры-
−40…+85 °C (микроконтроллер)
-Объем встроенной памяти-
STM32F103C6T6 — 32 КБ; STM32F103C8T6 — 64 КБ
Отзывы
Рейтинг товара
5
Отзывов: 1
5
1
4
0
3
0
2
0
1
0
Віктор
31 декабря 2024 (09:15)
Схоже що контролер не оригінальний, таке повідомлення видає стмкуб, і відмовляється шити
+
Достоинства товара:

Працює добре

Недостатки товара:

Не прошивається через стмкуб

Ответ:
Так і є, додамо в опис
Вопросы и ответы
Добавьте вопрос, и мы ответим в ближайшее время.

Нет вопросов о данном товаре, станьте первым и задайте свой вопрос.

Инструкция

Инструкция подключения STM32F103C6T6/C8T6 Плата Разработчика

ARM Cortex-M3, 72МГц, для IoT и DIY-проектов

1. Идентификация и подготовка платы

STM32F103C8T6 (также известная как "Blue Pill") — мощная плата разработчика на базе 32-битного микроконтроллера ARM Cortex-M3. Перед началом работы ознакомьтесь с основными компонентами платы и их назначением.

flowchart TD
    subgraph BLUEPILL["STM32F103C8T6 (Blue Pill)"]
      direction TB
      
      subgraph PINOUT["Контакты"]
        direction LR
        PA["PA0-PA15
Пины порта A"] PB["PB0-PB15
Пины порта B"] PC["PC13-PC15
Пины порта C"] end subgraph JUMPERS["Перемычки (Jumpers)"] BOOT0["BOOT0
Перемычка"] BOOT1["BOOT1
Перемычка"] end subgraph CONNECTORS["Интерфейсы"] USB["Micro USB
порт"] SWD["SWD
программатор"] end LED["Встроенный
LED (PC13)"] RESET["Кнопка
RESET"] PINOUT --- JUMPERS PINOUT --- CONNECTORS PINOUT --- LED PINOUT --- RESET end classDef pins fill:#f96,stroke:#333,stroke-width:2px class PA,PB,PC pins classDef components fill:#9ef,stroke:#333,stroke-width:2px class BOOT0,BOOT1,USB,SWD,LED,RESET components

1.1 Ключевые элементы платы

  • Перемычки BOOT0 и BOOT1 — определяют режим загрузки микроконтроллера
  • Встроенный светодиод — подключён к пину PC13, удобен для демонстрации работы программ
  • Micro USB порт — для питания и программирования (после установки загрузчика)
  • SWD разъём — для программирования и отладки через ST-Link V2
  • Кнопка Reset — для перезапуска микроконтроллера
STM32F103C8T6 работает на логических уровнях 3.3В, а НЕ 5В! Подключение 5В-логики непосредственно к входам микроконтроллера может повредить его. При работе с 5В устройствами (например, Arduino) используйте логические преобразователи уровней.

2. Необходимые инструменты и компоненты

Для начала работы с STM32F103C8T6 вам понадобятся:

2.1 Аппаратное обеспечение

  • Плата STM32F103C8T6 (Blue Pill)
  • USB-to-TTL конвертер с поддержкой 3.3В логики (для загрузки bootloader)
  • ST-Link V2 программатор (альтернативный и более быстрый метод прошивки)
  • Кабель Micro-USB для подключения к компьютеру
  • Соединительные провода типа Dupont "мама-мама" и "папа-мама"

2.2 Программное обеспечение

Если вы планируете использовать только ST-Link V2 для программирования, можно пропустить установку Flash Loader Demonstrator и загрузку bootloader. Однако наличие bootloader даёт больше гибкости при разработке.

3. Подготовка и прошивка загрузчика (bootloader)

Чтобы иметь возможность программировать STM32 через Arduino IDE и USB, необходимо сначала установить специальный загрузчик. Этот процесс выполняется один раз.

3.1 Настройка перемычек для режима прошивки

flowchart LR
    subgraph NORMAL["Обычный режим
(для работы программ)"] BOOT0_0["BOOT0 = 0"] BOOT1_0["BOOT1 = 0"] end subgraph BOOTLOADER["Режим прошивки bootloader
(через USB-TTL)"] BOOT0_1["BOOT0 = 1"] BOOT1_X["BOOT1 = 0"] end subgraph FLASH["Режим программирования Flash
(через ST-Link)"] BOOT0_0F["BOOT0 = 0"] BOOT1_0F["BOOT1 = 0"] end
  1. Найдите на плате перемычки BOOT0 и BOOT1 (обычно они жёлтого цвета)
  2. Для прошивки загрузчика установите следующие положения:
    • BOOT0 = 1 (перемычка ближе к кнопке Reset)
    • BOOT1 = 0 (перемычка ближе к USB-порту)

3.2 Подключение USB-to-TTL конвертера

flowchart LR
    subgraph USBTTY["USB-to-TTL конвертер"]
      TTY_GND["GND"]
      TTY_5V["5V/3.3V"]
      TTY_TX["TX"]
      TTY_RX["RX"]
    end
    
    subgraph STM32["STM32F103C8T6"]
      STM_GND["GND"]
      STM_3V3["3.3V"]
      STM_SWCLK["SWCLK"]
      STM_SWDIO["SWDIO"]
    end
    
    TTY_GND --> STM_GND
    TTY_5V --> STM_3V3
    TTY_TX --> STM_SWCLK
    TTY_RX --> STM_SWDIO
  
  1. Подключите USB-to-TTL конвертер к STM32 по следующей схеме:
    • GND (конвертер) → GND (STM32)
    • 5V или 3.3V (конвертер) → 5V (STM32)
    • TX (конвертер) → A10/RX1 (STM32)
    • RX (конвертер) → A9/TX1 (STM32)
  2. Подключите USB-to-TTL конвертер к USB-порту компьютера
Убедитесь, что ваш USB-to-TTL конвертер работает на уровнях 3.3В, или используйте логический преобразователь для линий RX/TX! Подключение 5В-логики к пинам STM32 может повредить микроконтроллер.

3.3 Определение COM-порта

  1. Откройте Диспетчер устройств Windows:
    • Нажмите правой кнопкой мыши на "Этот ПК" → "Управление" → "Диспетчер устройств"
    • Раскройте раздел "Порты (COM и LPT)"
    • Найдите устройство, соответствующее вашему USB-to-TTL конвертеру (например, "USB Serial Port (COM3)")
    • Запомните номер COM-порта (например, COM3)
Если вы не уверены, какой именно COM-порт соответствует вашему конвертеру, отключите его, проверьте список портов, затем подключите снова и посмотрите, какой порт появился.

3.4 Прошивка загрузчика (bootloader)

  1. Скачайте и установите программу STM32 Flash Loader Demonstrator
  2. Скачайте архив с bootloader с GitHub (rogerclarkmelbourne/STM32duino-bootloader) и распакуйте его
  3. Запустите программу Flash Loader Demonstrator и выполните следующие шаги:
    • Выберите COM-порт вашего USB-to-TTL конвертера
    • Нажмите "Next"
    • Программа должна подключиться к микроконтроллеру (должен появиться зелёный индикатор)
    • Нажмите "Next" → выберите тип микроконтроллера "STM32F1_Medium-density_64K"
    • Нажмите "Next" → выберите опцию "Download to device"
    • Нажмите "..." рядом с полем пути
    • Перейдите в распакованную папку с bootloader, затем в подпапку "binaries"
    • Выберите файл "generic_boot20_pc13.bin" (важно выбрать правильный файл!)
    • Убедитесь, что установлены флажки "Erase necessary pages" и "Verify after download"
    • Нажмите "Next" и дождитесь завершения процесса прошивки
    • После успешного завершения закройте программу

4. Настройка Arduino IDE

После установки загрузчика необходимо настроить Arduino IDE для работы с платой STM32.

4.1 Установка пакета плат STM32

  1. Скачайте архив с GitHub (rogerclarkmelbourne/Arduino_STM32) и распакуйте его
  2. Перейдите в папку ваших скетчей Arduino (обычно Документы\Arduino)
  3. Создайте в ней папку "hardware" (если её ещё нет)
  4. Скопируйте распакованную папку Arduino_STM32-master в папку hardware
  5. Перезапустите Arduino IDE, чтобы изменения вступили в силу

4.2 Выбор платы в Arduino IDE

  1. Откройте Arduino IDE
  2. Перейдите в меню Инструменты → Плата
  3. Найдите новый раздел "STM32F1 Boards (Arduino_STM32)"
  4. Выберите "Generic STM32F103C series"

5. Программирование платы через USB-to-TTL (с bootloader)

Теперь, когда загрузчик установлен, вы можете программировать плату через USB-to-TTL конвертер.

5.1 Настройка перемычек для обычного режима

Важно изменить положение перемычек после установки загрузчика!
  1. Установите перемычки в следующие положения:
    • BOOT0 = 0 (перемычка ближе к USB-порту)
    • BOOT1 = 0 (перемычка ближе к USB-порту)

5.2 Настройка метода загрузки в Arduino IDE

  1. Перейдите в меню Инструменты → Upload method
  2. Выберите "Serial"
  3. Перейдите в меню Инструменты → Порт
  4. Выберите COM-порт, соответствующий вашему USB-to-TTL конвертеру

5.3 Создание и загрузка первого скетча (пример Blink)

  1. Перейдите в меню Файл → Примеры → Basics → Blink (или A_STM32_Examples → Digital → Blink)
  2. Измените пин светодиода на PC13 (стандартный пин для встроенного светодиода на Blue Pill):
    // Измените пин светодиода на PC13 const int ledPin = PC13; void setup() { // Устанавливаем пин как выход pinMode(ledPin, OUTPUT); } void loop() { digitalWrite(ledPin, HIGH); // Выключаем светодиод (на Blue Pill встроенный LED работает от инверсной логики) delay(1000); // Пауза 1 секунда digitalWrite(ledPin, LOW); // Включаем светодиод delay(1000); // Пауза 1 секунда }
  3. Нажмите кнопку "Загрузить" (стрелка вправо) в Arduino IDE
  4. После успешной загрузки встроенный светодиод на плате должен начать мигать
Встроенный LED на плате STM32 подключён к PC13 с инверсной логикой: LOW включает светодиод, а HIGH выключает его, что противоположно привычной логике в Arduino.

6. Программирование платы через ST-Link V2

Альтернативный и более быстрый метод программирования через SWD интерфейс с помощью ST-Link V2.

6.1 Подключение ST-Link V2

flowchart LR
    subgraph STLINK["ST-Link V2"]
      ST_GND["GND"]
      ST_3V3["3.3V"]
      ST_SWCLK["SWCLK"]
      ST_SWDIO["SWDIO"]
    end
    
    subgraph STM32["STM32F103C8T6"]
      STM_GND["GND"]
      STM_5V["5V"]
      STM_A9["A9 (TX1)"]
      STM_A10["A10 (RX1)"]
    end
    
    ST_GND --> STM_GND
    ST_3V3 --> STM_5V
    ST_SWCLK --> STM_A10
    ST_SWDIO --> STM_A9
  
  1. Подключите ST-Link V2 к STM32 по следующей схеме:
    • GND (ST-Link) → GND (STM32)
    • 3.3V (ST-Link) → 3.3V (STM32)
    • SWCLK (ST-Link) → SWCLK (STM32)
    • SWDIO (ST-Link) → SWDIO (STM32)
  2. Подключите ST-Link V2 к USB-порту компьютера
Питание можно подавать как от ST-Link (через 3.3V), так и от USB-порта платы. Для стабильной работы рекомендуется использовать одно источник питания.

6.2 Настройка перемычек для ST-Link

  1. Установите перемычки в следующие положения:
    • BOOT0 = 0 (перемычка ближе к USB-порту)
    • BOOT1 = 0 (перемычка ближе к USB-порту)
Программирование через ST-Link работает независимо от положения перемычек, но для правильного запуска программы после программирования рекомендуется установить их в стандартное положение (BOOT0=0, BOOT1=0).

6.3 Настройка метода загрузки в Arduino IDE

  1. Перейдите в меню Инструменты → Upload method
  2. Выберите "STLink"

6.4 Загрузка скетча через ST-Link

  1. Откройте или создайте скетч для загрузки
  2. Нажмите кнопку "Загрузить" (стрелка вправо) в Arduino IDE
  3. После успешной загрузки программа начнёт выполняться автоматически
Прошивка через ST-Link значительно быстрее по сравнению с методом Serial. Кроме того, она позволяет использовать функции отладки (debug) для более эффективной разработки.

7. Работа с периферией и интерфейсами

STM32F103C8T6 имеет богатый набор периферии и интерфейсов для разнообразных проектов.

7.1 Цифровые входы/выходы

Работа с цифровыми пинами аналогична Arduino, но используются другие обозначения пинов (PA0, PB1, PC13 и т.д.):

// Пример работы с цифровыми пинами const int buttonPin = PA0; // Подключаем кнопку к пину PA0 const int ledPin = PC13; // Встроенный светодиод на PC13 void setup() { pinMode(buttonPin, INPUT_PULLUP); // Вход с подтягивающим резистором pinMode(ledPin, OUTPUT); // Выход для светодиода } void loop() { if (digitalRead(buttonPin) == LOW) { // Если кнопка нажата digitalWrite(ledPin, LOW); // Включаем светодиод } else { digitalWrite(ledPin, HIGH); // Выключаем светодиод } }

7.2 Аналоговые входы

STM32F103C8T6 имеет несколько аналоговых входов с разрешением 12 бит (0-4095) по сравнению с 10 бит (0-1023) в Arduino:

// Пример работы с аналоговым входом const int analogPin = PA0; // Аналоговый вход на пине PA0 void setup() { Serial.begin(9600); // Инициализация серийного порта } void loop() { int adcValue = analogRead(analogPin); // Считываем аналоговое значение (0-4095) float voltage = adcValue * (3.3 / 4095.0); // Преобразуем в напряжение Serial.print("ADC: "); Serial.print(adcValue); Serial.print(", Voltage: "); Serial.println(voltage); delay(500); }

7.3 I2C интерфейс

STM32F103C8T6 имеет два I2C интерфейса. Для работы с I2C используйте библиотеку Wire:

// Пример подключения I2C сенсора (например, MPU6050) #include void setup() { Wire.begin(); // Инициализация I2C как мастер Serial.begin(9600); // Инициализация серийного порта Wire.beginTransmission(0x68); // I2C адрес MPU6050 Wire.write(0x6B); // Регистр PWR_MGMT_1 Wire.write(0); // Выключаем спящий режим Wire.endTransmission(true); } void loop() { Wire.beginTransmission(0x68); Wire.write(0x3B); // Начинаем с регистра ACCEL_XOUT_H Wire.endTransmission(false); Wire.requestFrom(0x68, 6, true); // Запрашиваем 6 байтов // Считываем значения акселерометра int16_t accelX = Wire.read() << 8 | Wire.read(); int16_t accelY = Wire.read() << 8 | Wire.read(); int16_t accelZ = Wire.read() << 8 | Wire.read(); Serial.print("Accel: X="); Serial.print(accelX); Serial.print(", Y="); Serial.print(accelY); Serial.print(", Z="); Serial.println(accelZ); delay(500); }
По умолчанию I2C пины на STM32F103C8T6: PB6 (SCL) и PB7 (SDA) для I2C1.

7.4 SPI интерфейс

Для работы с SPI используйте библиотеку SPI:

// Пример работы с SPI (например, для дисплея) #include const int csPin = PA4; // Пин CS (Chip Select) void setup() { pinMode(csPin, OUTPUT); digitalWrite(csPin, HIGH); // Деактивируем CS SPI.begin(); SPI.setBitOrder(MSBFIRST); SPI.setDataMode(SPI_MODE0); SPI.setClockDivider(SPI_CLOCK_DIV8); // 72MHz/8 = 9MHz } void loop() { digitalWrite(csPin, LOW); // Активируем CS SPI.transfer(0x55); // Отправляем байт данных digitalWrite(csPin, HIGH); // Деактивируем CS delay(1000); }
По умолчанию SPI пины на STM32F103C8T6: PA5 (SCK), PA6 (MISO), PA7 (MOSI) для SPI1.

8. Устранение неисправностей

Проблема Возможная причина Решение
Плата не определяется при подключении Отсутствуют или некорректные драйверы Установите правильные драйверы для USB-to-TTL конвертера или ST-Link
Ошибка прошивки через USB-TTL Неправильные настройки перемычек, проблемы с подключением Проверьте положение перемычек BOOT0=1, BOOT1=0 для прошивки bootloader
Программа не запускается после прошивки Неправильные перемычки в режиме запуска Установите BOOT0=0, BOOT1=0 для обычного режима работы
Ошибка программирования через ST-Link Неправильное подключение, проблемы с питанием Проверьте подключение SWDIO, SWCLK, GND, 3.3V
Встроенный светодиод не работает Используется неправильный пин или логика Используйте PC13 с инверсной логикой (LOW для включения)
При возникновении ошибок подключитесь к COM-порту STM32 через последовательный монитор Arduino IDE (9600 бод) и добавьте в код вывод диагностических сообщений для отладки.

9. Полезные ссылки

  • Arduino_STM32 — репозиторий с поддержкой STM32 для Arduino IDE
  • STM32duino-bootloader — репозиторий с bootloader для STM32
  • STM32CubeF1 — официальный пакет разработки от ST Microelectronics
  • STM32-base.org — информация о плате Blue Pill
STM32F103C8T6 обладает значительно большей вычислительной мощностью и функциональностью по сравнению с Arduino, что делает её идеальным выбором для более сложных проектов IoT, робототехники и управления.
Важное замечание: Мы приложили усилия, чтобы эта инструкция была точной и полезной. Однако эта инструкция предоставляется как справочный материал. Электронные компоненты могут иметь вариации, а схемы подключения зависят от конкретных условий и вашего оборудования. Эта информация предоставляется "как есть", без гарантий полноты или безошибочности. Настоятельно рекомендуем проверять спецификации вашего модуля (datasheet), сверяться с другими источниками и, при малейших сомнениях, обращаться к квалифицированным специалистам, особенно при работе с напряжением 220В.

FAQ (частые вопросы)

Рекомендуемые товары
Рекомендуемые статьи
Мониторинг состояния батареи с использованием JKBMS и TFT дисплея
Мониторинг состояния батареи с использованием JKBMS и TFT дисплея
Блог, Инструкции Подключения и Обзоры
08.11.2024
Еволюція мікроконтролерів
Еволюція мікроконтролерів
Блог, Интересное и Полезное
01.02.2025

Продовжимо солов'їною?

Оберіть мову