⚠️ УВАГА 🔧  09.08.2026 - вихідний (відвантаження товару не буде)
Каталог товарів
Клієнту
Тема сайту:
+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грн
Укрпоштою у відділення по Україні
Укрпоштою у відділення по Україні
від 55 ₴
Meest Пошта
Meest Пошта
від 80 ₴
Оплата
Оплата карткою Оплата карткою
Переказ на картку Переказ на картку
Оплата на 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
    
    ST_GND --> STM_GND
    ST_3V3 --> STM_3V3
    ST_SWCLK --> STM_SWCLK
    ST_SWDIO --> 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 STM
32["STM32F103C8T6"]
      STM_GND["GND"]
      STM_5V["5V"]
      STM_A9["A9 (TX1)"]
      STM_A10["A10 (RX1)"]
    end
    
    TTY_GND --> STM_GND
    TTY_5V --> STM_5V
    TTY_TX --> STM_A10
    TTY_RX --> 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 <Wire.h> 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 <SPI.h> 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